ARM GAS /tmp/ccJhhmLc.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 @ Tag_ABI_HardFP_use 5 .eabi_attribute 28, 1 @ Tag_ABI_VFP_args 6 .eabi_attribute 20, 1 @ Tag_ABI_FP_denormal 7 .eabi_attribute 21, 1 @ Tag_ABI_FP_exceptions 8 .eabi_attribute 23, 3 @ Tag_ABI_FP_number_model 9 .eabi_attribute 24, 1 @ Tag_ABI_align8_needed 10 .eabi_attribute 25, 1 @ Tag_ABI_align8_preserved 11 .eabi_attribute 26, 1 @ Tag_ABI_enum_size 12 .eabi_attribute 30, 4 @ Tag_ABI_optimization_goals 13 .eabi_attribute 34, 1 @ Tag_CPU_unaligned_access 14 .file "" 15 @ GNU GIMPLE (Arm GNU Toolchain 14.2.Rel1 (Build arm-14.52)) version 14.2.1 20241119 (arm-none-eabi 16 @ compiled by GNU C version 9.2.1 20191120 (Red Hat 9.2.1-2), GMP version 6.2.1, MPFR version 3.1.6 17 18 @ GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 19 @ options passed: -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mc 20 .text 21 .Ltext0: 22 .cfi_sections .debug_frame 23 .file 1 "" 24 .section .text.USB_DevDisconnect.isra.0,"ax",%progbits 25 .align 1 26 .cpu cortex-m4 27 .arch armv7e-m 28 .fpu fpv4-sp-d16 29 .syntax unified 30 .thumb 31 .thumb_func 32 .type USB_DevDisconnect.isra.0, %function 33 USB_DevDisconnect.isra.0: 34 .LVL0: 35 .LFB1: 36 .file 2 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @file stm32f4xx_ll_usb.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB Low Layer HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This file provides firmware functions to manage the following 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * functionalities of the USB Peripheral Controller: 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * + Initialization/de-initialization functions 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * + I/O operation functions 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * + Peripheral Control functions 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * + Peripheral State functions 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** @verbatim 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ============================================================================== 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ##### How to use this driver ##### 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ============================================================================== 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** [..] 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (#) Fill parameters of Init structure in USB_OTG_CfgTypeDef structure. 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (#) Call USB_CoreInit() API to initialize the USB Core peripheral. ARM GAS /tmp/ccJhhmLc.s page 2 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (#) The upper HAL HCD/PCD driver will call the right routines for its internal processes. 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** @endverbatim 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ****************************************************************************** 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @attention 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** *

© Copyright (c) 2016 STMicroelectronics. 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * All rights reserved.

31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This software component is licensed by ST under BSD 3-Clause license, 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * the "License"; You may not use this file except in compliance with the 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * License. You may obtain a copy of the License at: 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * opensource.org/licenses/BSD-3-Clause 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ****************************************************************************** 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Includes ------------------------------------------------------------------*/ 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #include "stm32f4xx_hal.h" 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** @addtogroup STM32F4xx_LL_USB_DRIVER 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @{ 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (HAL_PCD_MODULE_ENABLED) || defined (HAL_HCD_MODULE_ENABLED) 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private typedef -----------------------------------------------------------*/ 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private define ------------------------------------------------------------*/ 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private macro -------------------------------------------------------------*/ 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private variables ---------------------------------------------------------*/ 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private function prototypes -----------------------------------------------*/ 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Private functions ---------------------------------------------------------*/ 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx); 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Exported functions --------------------------------------------------------*/ 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** @defgroup USB_LL_Exported_Functions USB Low Layer Exported Functions 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @{ 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** @defgroup USB_LL_Exported_Functions_Group1 Initialization/de-initialization functions 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Initialization and Configuration functions 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** @verbatim 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** =============================================================================== 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ##### Initialization/de-initialization functions ##### 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** =============================================================================== 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** @endverbatim 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @{ 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Initializes the USB Core 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx USB Instance 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param cfg pointer to a USB_OTG_CfgTypeDef structure that contains ARM GAS /tmp/ccJhhmLc.s page 3 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * the configuration information for the specified USBx peripheral. 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.phy_itface == USB_OTG_ULPI_PHY) 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Init The ULPI Interface */ 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_TSDPS | USB_OTG_GUSBCFG_ULPIFSLS | USB_OTG_GUSBCFG_PHYSEL); 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Select vbus source */ 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_ULPIEVBUSD | USB_OTG_GUSBCFG_ULPIEVBUSI); 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.use_external_vbus == 1U) 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPIEVBUSD; 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Reset after a PHY select */ 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = USB_CoreReset(USBx); 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else /* FS interface (embedded Phy) */ 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Select FS Embedded PHY */ 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= USB_OTG_GUSBCFG_PHYSEL; 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Reset after a PHY select */ 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = USB_CoreReset(USBx); 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.battery_charging_enable == 0U) 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Activate the USB Transceiver */ 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Deactivate the USB Transceiver */ 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.dma_enable == 1U) 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_HBSTLEN_2; 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Set the USB turnaround time 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx USB Instance ARM GAS /tmp/ccJhhmLc.s page 4 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param hclk: AHB clock frequency 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval USB turnaround time In PHY Clocks number 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_SetTurnaroundTime(USB_OTG_GlobalTypeDef *USBx, 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t hclk, uint8_t speed) 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t UsbTrd; 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* The USBTRD is configured according to the tables below, depending on AHB frequency 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** used by application. In the low AHB frequency range it is used to stretch enough the USB response 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** time to IN tokens, the USB turnaround time, so to compensate for the longer AHB read access 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** latency to the Data FIFO */ 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (speed == USBD_FS_SPEED) 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((hclk >= 14200000U) && (hclk < 15000000U)) 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 14.2-15 MHz */ 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xFU; 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 15000000U) && (hclk < 16000000U)) 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 15-16 MHz */ 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xEU; 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 16000000U) && (hclk < 17200000U)) 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 16-17.2 MHz */ 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xDU; 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 17200000U) && (hclk < 18500000U)) 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 17.2-18.5 MHz */ 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xCU; 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 18500000U) && (hclk < 20000000U)) 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 18.5-20 MHz */ 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xBU; 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 20000000U) && (hclk < 21800000U)) 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 20-21.8 MHz */ 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0xAU; 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 21800000U) && (hclk < 24000000U)) 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 21.8-24 MHz */ 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0x9U; 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 24000000U) && (hclk < 27700000U)) 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 24-27.7 MHz */ 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0x8U; 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((hclk >= 27700000U) && (hclk < 32000000U)) 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 27.7-32 MHz */ ARM GAS /tmp/ccJhhmLc.s page 5 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0x7U; 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else /* if(hclk >= 32000000) */ 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* hclk Clock Range between 32-200 MHz */ 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = 0x6U; 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if (speed == USBD_HS_SPEED) 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = USBD_HS_TRDT_VALUE; 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** UsbTrd = USBD_DEFAULT_TRDT_VALUE; 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG &= ~USB_OTG_GUSBCFG_TRDT; 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EnableGlobalInt 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * Enables the controller's Global Int in the AHB Config reg 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EnableGlobalInt(USB_OTG_GlobalTypeDef *USBx) 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT; 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DisableGlobalInt 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * Disable the controller's Global Int in the AHB Config reg 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DisableGlobalInt(USB_OTG_GlobalTypeDef *USBx) 235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT; 237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_SetCurrentMode Set functional mode 242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param mode current core mode 244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_DEVICE_MODE Peripheral mode 246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_HOST_MODE Host mode 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_SetCurrentMode(USB_OTG_GlobalTypeDef *USBx, USB_OTG_ModeTypeDef mode) ARM GAS /tmp/ccJhhmLc.s page 6 250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t ms = 0U; 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_FHMOD | USB_OTG_GUSBCFG_FDMOD); 254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (mode == USB_HOST_MODE) 256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= USB_OTG_GUSBCFG_FHMOD; 258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_Delay(1U); 262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ms++; 263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USB_GetMode(USBx) != (uint32_t)USB_HOST_MODE) && (ms < 50U)); 264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if (mode == USB_DEVICE_MODE) 266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GUSBCFG |= USB_OTG_GUSBCFG_FDMOD; 268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_Delay(1U); 272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ms++; 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USB_GetMode(USBx) != (uint32_t)USB_DEVICE_MODE) && (ms < 50U)); 274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_ERROR; 278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ms == 50U) 281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_ERROR; 283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DevInit Initializes the USB_OTG controller registers 290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * for device mode 291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param cfg pointer to a USB_OTG_CfgTypeDef structure that contains 293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * the configuration information for the specified USBx peripheral. 294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) 297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK; 299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < 15U; i++) 303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->DIEPTXF[i] = 0U; 305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/ccJhhmLc.s page 7 307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || 308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* VBUS Sensing setup */ 309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.vbus_sensing_enable == 0U) 310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Deactivate VBUS Sensing B */ 314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBDEN; 315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* B-peripheral session valid override enable */ 317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOEN; 318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOVAL; 319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable HW VBUS sensing */ 323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBDEN; 324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #else 326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* VBUS Sensing setup */ 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.vbus_sensing_enable == 0U) 328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* 330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * Disable HW VBUS sensing. VBUS is internally considered to be always 331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * at VBUS-Valid level (5V). 332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSBSEN; 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSASEN; 337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable HW VBUS sensing */ 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_NOVBUSSENS; 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBUSBSEN; 343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412 345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Restart the Phy Clock */ 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_PCGCCTL = 0U; 348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Device mode configuration */ 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG |= DCFG_FRAME_INTERVAL_80; 351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.phy_itface == USB_OTG_ULPI_PHY) 353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.speed == USBD_HS_SPEED) 355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set Core speed to High speed mode */ 357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH); 358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set Core speed to Full speed mode */ 362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH_IN_FULL); 363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/ccJhhmLc.s page 8 364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set Core speed to Full speed mode */ 368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_FULL); 369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Flush the FIFOs */ 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */ 373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (USB_FlushRxFifo(USBx) != HAL_OK) 378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = HAL_ERROR; 380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear all pending Device Interrupts */ 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPMSK = 0U; 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < cfg.dev_endpoints; i++) 388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (i == 0U) 392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_SNAK; 394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK; 398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPCTL = 0U; 403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPTSIZ = 0U; 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < cfg.dev_endpoints; i++) 410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (i == 0U) 414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_SNAK; 416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK; 420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/ccJhhmLc.s page 9 421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPCTL = 0U; 425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPTSIZ = 0U; 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPMSK &= ~(USB_OTG_DIEPMSK_TXFURM); 432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Disable all interrupts. */ 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK = 0U; 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear any pending interrupts */ 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTSTS = 0xBFFFFFFFU; 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable the common interrupts */ 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.dma_enable == 0U) 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; 443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable interrupts matching to the Device mode ONLY */ 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_USBSUSPM | USB_OTG_GINTMSK_USBRST | 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT | 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_OEPINT | USB_OTG_GINTMSK_IISOIXFRM | 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_PXFRM_IISOOXFRM | USB_OTG_GINTMSK_WUIM; 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.Sof_enable != 0U) 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM; 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.vbus_sensing_enable == 1U) 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT); 459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_OTG_FlushTxFifo : Flush a Tx FIFO 466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param num FIFO number 468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 1 to 15 469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 15 means Flush all Tx FIFOs 470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushTxFifo(USB_OTG_GlobalTypeDef *USBx, uint32_t num) 473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6)); 477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/ccJhhmLc.s page 10 478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (++count > 200000U) 481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_TIMEOUT; 483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_TXFFLSH) == USB_OTG_GRSTCTL_TXFFLSH); 485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_FlushRxFifo : Flush Rx FIFO 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushRxFifo(USB_OTG_GlobalTypeDef *USBx) 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __IO uint32_t count = 0U; 497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; 499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (++count > 200000U) 503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_TIMEOUT; 505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_RXFFLSH) == USB_OTG_GRSTCTL_RXFFLSH); 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_SetDevSpeed Initializes the DevSpd field of DCFG register 513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * depending the PHY type and the enumeration speed of the device. 514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param speed device speed 516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_HIGH: High speed mode 518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_HIGH_IN_FULL: High speed core in Full Speed mode 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USB_OTG_SPEED_FULL: Full speed mode 520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval Hal status 521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevSpeed(USB_OTG_GlobalTypeDef *USBx, uint8_t speed) 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG |= speed; 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_GetDevSpeed Return the Dev Speed 532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval speed device speed 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: ARM GAS /tmp/ccJhhmLc.s page 11 535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USBD_HS_SPEED: High speed mode 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @arg USBD_FS_SPEED: Full speed mode 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t USB_GetDevSpeed(USB_OTG_GlobalTypeDef *USBx) 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t speed; 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t DevEnumSpeed = USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD; 543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (DevEnumSpeed == DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ) 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** speed = USBD_HS_SPEED; 547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else if ((DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ) || 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_48MHZ)) 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** speed = USBD_FS_SPEED; 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** speed = 0xFU; 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return speed; 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Activate and configure an endpoint 563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) 568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)); 575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_USBAEP) == 0U) 577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_USBAEP; 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U) 589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | ARM GAS /tmp/ccJhhmLc.s page 12 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_USBAEP; 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Activate and configure a dedicated endpoint 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateDedicatedEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Read DEPCTLn register */ 611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_INEP(epnum)->DIEPCTL) & USB_OTG_DIEPCTL_USBAEP) == 0U) 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_USBAEP; 619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DEACHMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)); 622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U) 626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_USBAEP; 630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DEACHMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief De-activate and de-initialize an endpoint 640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) 645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/ccJhhmLc.s page 13 649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Read DEPCTLn register */ 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_MPSIZ | 662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_TXFNUM | 663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_SD0PID_SEVNFRM | 664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_EPTYP); 665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_SD0PID_SEVNFRM | 679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_EPTYP); 680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief De-activate and de-initialize a dedicated endpoint 687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateDedicatedEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *e 692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Read DEPCTLn register */ 697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~ USB_OTG_DIEPCTL_USBAEP; ARM GAS /tmp/ccJhhmLc.s page 14 706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_USBAEP; 717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EPStartXfer : setup and starts a transfer over an EP 725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dma USB dma enabled or disabled 728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : DMA feature not used 730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : DMA feature used 731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EPStartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep, uint8_t dma) 734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t pktcnt; 738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* IN endpoint */ 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Zero Length Packet? */ 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len == 0U) 744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Program the transfer size and packet count 752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * as follows: xfersize = N * maxpacket + 753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * short_packet pktcnt = N + (short_packet 754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * exist ? 1 : 0) 755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket) << 19)) 760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/ccJhhmLc.s page 15 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->type == EP_TYPE_ISOC) 764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT); 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29)); 767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((uint32_t)ep->dma_addr != 0U) 773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->type == EP_TYPE_ISOC) 778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable, IN data in FIFO */ 790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable, IN data in FIFO */ 795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->type != EP_TYPE_ISOC) 798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable the Tx FIFO Empty Interrupt for this EP */ 800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len > 0U) 801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (void)USB_WritePacket(USBx, ep->xfer_buff, ep->num, (uint16_t)ep->xfer_len, dma); 817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/ccJhhmLc.s page 16 820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else /* OUT endpoint */ 821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Program the transfer size and packet count as follows: 823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * pktcnt = N 824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * xfersize = N * maxpacket 825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); 827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len == 0U) 830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->maxpacket); 832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pktcnt = (uint16_t)((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket); 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((uint32_t)ep->xfer_buff != 0U) 844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->type == EP_TYPE_ISOC) 850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SODDFRM; 854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; 858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable */ 861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EP0StartXfer : setup and starts a transfer over the EP 0 869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dma USB dma enabled or disabled 872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : DMA feature not used 874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : DMA feature used 875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ ARM GAS /tmp/ccJhhmLc.s page 17 877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EP0StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep, uint8_t dma) 878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* IN endpoint */ 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Zero Length Packet? */ 886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len == 0U) 887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Program the transfer size and packet count 895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * as follows: xfersize = N * maxpacket + 896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * short_packet pktcnt = N + (short_packet 897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * exist ? 1 : 0) 898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len > ep->maxpacket) 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_len = ep->maxpacket; 905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((uint32_t)ep->dma_addr != 0U) 913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable, IN data in FIFO */ 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable, IN data in FIFO */ 923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Enable the Tx FIFO Empty Interrupt for this EP */ 926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len > 0U) 927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else /* OUT endpoint */ 933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/ccJhhmLc.s page 18 934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Program the transfer size and packet count as follows: 935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * pktcnt = N 936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * xfersize = N * maxpacket 937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); 939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->xfer_len > 0U) 942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ep->xfer_len = ep->maxpacket; 944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket)); 948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((uint32_t)ep->xfer_buff != 0U) 952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable */ 958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_WritePacket : Writes a packet into the Tx FIFO associated 966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * with the EP/channel 967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param src pointer to source buffer 969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ch_ep_num endpoint or host channel number 970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param len Number of bytes to write 971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dma USB dma enabled or disabled 972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : DMA feature not used 974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : DMA feature used 975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_WritePacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *src, 978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t ch_ep_num, uint16_t len, uint8_t dma) 979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t *pSrc = src; 982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t count32b; 983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 0U) 986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** count32b = ((uint32_t)len + 3U) / 4U; 988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DFIFO((uint32_t)ch_ep_num) = __UNALIGNED_UINT32_READ(pSrc); ARM GAS /tmp/ccJhhmLc.s page 19 991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadPacket : read a packet from the RX FIFO 1003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dest source pointer 1005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param len Number of bytes to read 1006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval pointer to destination buffer 1007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** void *USB_ReadPacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *dest, uint16_t len) 1009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint8_t *pDest = dest; 1012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t pData; 1013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 1014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t count32b = (uint32_t)len >> 2U; 1015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t remaining_bytes = len % 4U; 1016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 1018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __UNALIGNED_UINT32_WRITE(pDest, USBx_DFIFO(0U)); 1020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* When Number of data is not word aligned, read the remaining byte */ 1027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (remaining_bytes != 0U) 1028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** i = 0U; 1030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** __UNALIGNED_UINT32_WRITE(&pData, USBx_DFIFO(0U)); 1031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** do 1033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** *(uint8_t *)pDest = (uint8_t)(pData >> (8U * (uint8_t)(i))); 1035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** i++; 1036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pDest++; 1037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** remaining_bytes--; 1038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } while (remaining_bytes != 0U); 1039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((void *)pDest); 1042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EPSetStall : set a stall condition over an EP 1046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure ARM GAS /tmp/ccJhhmLc.s page 20 1048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EPSetStall(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) 1051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 1054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 1056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == 0U) && (epnum != 0U)) 1058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_EPDIS); 1060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_STALL; 1062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == 0U) && (epnum != 0U)) 1066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_EPDIS); 1068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_STALL; 1070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_EPClearStall : Clear a stall condition over an EP 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param ep pointer to endpoint structure 1079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EPClearStall(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) 1082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 1085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ep->is_in == 1U) 1087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 1089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 1090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 1092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** else 1095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 1098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/ccJhhmLc.s page 21 1105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_StopDevice : Stop the usb device mode 1107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_StopDevice(USB_OTG_GlobalTypeDef *USBx) 1111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef ret; 1113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t i; 1115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear Pending interrupt */ 1117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < 15U; i++) 1118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 1120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 1121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Clear interrupt masks */ 1124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DIEPMSK = 0U; 1125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 1126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 1127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Flush the FIFO */ 1129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = USB_FlushRxFifo(USBx); 1130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 1131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 1133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ret = USB_FlushTxFifo(USBx, 0x10U); 1136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 1137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 1139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ret; 1142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_SetDevAddress : Stop the usb device mode 1146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param address new device address to be assigned 1148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 0 to 255 1149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevAddress(USB_OTG_GlobalTypeDef *USBx, uint8_t address) 1152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG &= ~(USB_OTG_DCFG_DAD); 1156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 1157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** ARM GAS /tmp/ccJhhmLc.s page 22 1162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DevConnect : Connect the USB device by enabling Rpu 1163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DevConnect(USB_OTG_GlobalTypeDef *USBx) 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* In case phy is stopped, ensure to ungate and restore the phy CLK */ 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_PCGCCTL &= ~(USB_OTG_PCGCCTL_STOPCLK | USB_OTG_PCGCCTL_GATECLK); 1172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_SDIS; 1174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_DevDisconnect : Disconnect the USB device by disabling Rpu 1180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_DevDisconnect(USB_OTG_GlobalTypeDef *USBx) 37 .loc 2 1183 20 view -0 38 .cfi_startproc 39 @ args = 0, pretend = 0, frame = 0 40 @ frame_needed = 0, uses_anonymous_args = 0 41 @ link register save eliminated. 42 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1188: USBx_ 1184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* In case phy is stopped, ensure to ungate and restore the phy CLK */ 1188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_PCGCCTL &= ~(USB_OTG_PCGCCTL_STOPCLK | USB_OTG_PCGCCTL_GATECLK); 43 .loc 2 1188 3 view .LVU1 44 0000 D0F8003E ldr r3, [r0, #3584] @ _5, *_4 45 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1188: USBx_ 46 .loc 2 1188 16 view .LVU2 47 0004 23F00303 bic r3, r3, #3 @ _6, _5, 48 0008 C0F8003E str r3, [r0, #3584] @ _6, *_4 49 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1190: USBx_ 1189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 50 .loc 2 1190 14 view .LVU3 51 000c D0F80438 ldr r3, [r0, #2052] @ _9, _8->DCTL 52 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1190: USBx_ 53 .loc 2 1190 21 view .LVU4 54 0010 43F00203 orr r3, r3, #2 @ _10, _9, 55 0014 C0F80438 str r3, [r0, #2052] @ _10, _8->DCTL 56 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1193: } 1191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 57 .loc 2 1193 1 view .LVU5 58 0018 7047 bx lr @ 59 .cfi_endproc 60 .LFE1: 61 .size USB_DevDisconnect.isra.0, .-USB_DevDisconnect.isra.0 ARM GAS /tmp/ccJhhmLc.s page 23 62 .section .text.USB_DevConnect.isra.0,"ax",%progbits 63 .align 1 64 .syntax unified 65 .thumb 66 .thumb_func 67 .type USB_DevConnect.isra.0, %function 68 USB_DevConnect.isra.0: 69 .LVL1: 70 .LFB3: 1166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 71 .loc 2 1166 20 view -0 72 .cfi_startproc 73 @ args = 0, pretend = 0, frame = 0 74 @ frame_needed = 0, uses_anonymous_args = 0 75 @ link register save eliminated. 76 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1171: USBx_ 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 77 .loc 2 1171 3 view .LVU7 78 0000 D0F8003E ldr r3, [r0, #3584] @ _5, *_4 79 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1171: USBx_ 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 80 .loc 2 1171 16 view .LVU8 81 0004 23F00303 bic r3, r3, #3 @ _6, _5, 82 0008 C0F8003E str r3, [r0, #3584] @ _6, *_4 83 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1173: USBx_ 1173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 84 .loc 2 1173 14 view .LVU9 85 000c D0F80438 ldr r3, [r0, #2052] @ _9, _8->DCTL 86 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1173: USBx_ 1173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 87 .loc 2 1173 21 view .LVU10 88 0010 23F00203 bic r3, r3, #2 @ _10, _9, 89 0014 C0F80438 str r3, [r0, #2052] @ _10, _8->DCTL 90 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1176: } 1176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 91 .loc 2 1176 1 view .LVU11 92 0018 7047 bx lr @ 93 .cfi_endproc 94 .LFE3: 95 .size USB_DevConnect.isra.0, .-USB_DevConnect.isra.0 96 .section .text.USB_EPStartXfer.isra.0,"ax",%progbits 97 .align 1 98 .syntax unified 99 .thumb 100 .thumb_func 101 .type USB_EPStartXfer.isra.0, %function 102 USB_EPStartXfer.isra.0: 103 .LVL2: 104 .LFB5: 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 105 .loc 2 733 19 view -0 106 .cfi_startproc 107 @ args = 0, pretend = 0, frame = 0 108 @ frame_needed = 0, uses_anonymous_args = 0 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 109 .loc 2 733 19 is_stmt 0 view .LVU13 110 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} @ ARM GAS /tmp/ccJhhmLc.s page 24 111 .LCFI0: 112 .cfi_def_cfa_offset 28 113 .cfi_offset 4, -28 114 .cfi_offset 5, -24 115 .cfi_offset 6, -20 116 .cfi_offset 7, -16 117 .cfi_offset 8, -12 118 .cfi_offset 9, -8 119 .cfi_offset 14, -4 120 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:733: HAL_Stat 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 121 .loc 2 733 19 is_stmt 1 view .LVU14 122 0004 9446 mov ip, r2 @ dma, tmp278 123 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:740: if (ep 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 124 .loc 2 740 6 view .LVU15 125 0006 4A78 ldrb r2, [r1, #1] @ zero_extendqisi2 @ ep_3(D)->is_in, ep_3(D)->is_in 126 .LVL3: 127 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:736: uint32 736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint16_t pktcnt; 128 .loc 2 736 32 view .LVU16 129 0008 91F80080 ldrb r8, [r1] @ zero_extendqisi2 @ _4, ep_3(D)->num 130 .LVL4: 131 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:743: if ( 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 132 .loc 2 743 11 view .LVU17 133 000c 4B69 ldr r3, [r1, #20] @ pretmp_199, ep_3(D)->xfer_len 134 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:763: if 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 135 .loc 2 763 13 view .LVU18 136 000e 91F803E0 ldrb lr, [r1, #3] @ zero_extendqisi2 @ pretmp_200, ep_3(D)->type 137 0012 5B4F ldr r7, .L42 @ tmp273, 138 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:740: if (ep 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 139 .loc 2 740 6 view .LVU19 140 0014 012A cmp r2, #1 @ ep_3(D)->is_in, 141 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:745: US 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 142 .loc 2 745 23 view .LVU20 143 0016 4FEA4815 lsl r5, r8, #5 @ _198, _4, 144 001a 5A4A ldr r2, .L42+4 @ tmp274, 145 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:740: if (ep 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 146 .loc 2 740 6 view .LVU21 147 001c 7DD1 bne .L4 @, 148 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:745: US 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 149 .loc 2 745 23 view .LVU22 150 001e 00F51066 add r6, r0, #2304 @ _96, USBx, 151 0022 7419 adds r4, r6, r5 @ _195, _96, _198 152 0024 D4F81090 ldr r9, [r4, #16] @ _12, 153 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:743: if ( 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 154 .loc 2 743 8 view .LVU23 155 0028 13BB cbnz r3, .L5 @ pretmp_199, 156 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:745: US 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); ARM GAS /tmp/ccJhhmLc.s page 25 157 .loc 2 745 34 view .LVU24 158 002a 09EA0707 and r7, r9, r7 @ _13, _12, tmp273 159 002e 2761 str r7, [r4, #16] @ _13, _195->DIEPTSIZ 160 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:746: US 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 161 .loc 2 746 23 view .LVU25 162 0030 2769 ldr r7, [r4, #16] @ _14, _195->DIEPTSIZ 163 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:746: US 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 164 .loc 2 746 34 view .LVU26 165 0032 47F40027 orr r7, r7, #524288 @ _15, _14, 166 0036 2761 str r7, [r4, #16] @ _15, _195->DIEPTSIZ 167 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:747: US 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 168 .loc 2 747 23 view .LVU27 169 0038 2769 ldr r7, [r4, #16] @ _16, _195->DIEPTSIZ 170 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:747: US 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 171 .loc 2 747 34 view .LVU28 172 003a 3A40 ands r2, r2, r7 @, _17, tmp274, _16 173 .L30: 174 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:766: 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 175 .loc 2 766 36 view .LVU29 176 003c 2261 str r2, [r4, #16] @ _41, 177 .L6: 178 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:770: if ( 770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 179 .loc 2 770 8 view .LVU30 180 003e BCF1010F cmp ip, #1 @ dma, 181 0042 38D1 bne .L7 @, 182 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:772: if 772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 183 .loc 2 772 23 view .LVU31 184 0044 0B69 ldr r3, [r1, #16] @ _43, ep_3(D)->dma_addr 185 .LVL5: 186 .L41: 187 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:843: if 843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 188 .loc 2 843 10 view .LVU32 189 0046 03B1 cbz r3, .L21 @ _123, 190 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:845: 845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 191 .loc 2 845 36 view .LVU33 192 0048 6361 str r3, [r4, #20] @ _123, 193 .L21: 194 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:849: if ( 849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 195 .loc 2 849 8 view .LVU34 196 004a BEF1010F cmp lr, #1 @ pretmp_200, 197 004e 0AD1 bne .L22 @, 198 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:851: if 851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 199 .loc 2 851 23 view .LVU35 200 0050 D0F80838 ldr r3, [r0, #2056] @ _128, 201 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:851: if 851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/ccJhhmLc.s page 26 202 .loc 2 851 10 view .LVU36 203 0054 13F4807F tst r3, #256 @ _128, 204 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:853: 853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 205 .loc 2 853 26 view .LVU37 206 0058 7359 ldr r3, [r6, r5] @ _130,* _198 207 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:853: 853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 208 .loc 2 853 36 view .LVU38 209 005a 0CBF ite eq 210 005c 43F00053 orreq r3, r3, #536870912 @ _131, _130, 211 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:857: 857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 212 .loc 2 857 36 view .LVU39 213 0060 43F08053 orrne r3, r3, #268435456 @ _133, _132, 214 0064 7351 str r3, [r6, r5] @ _133,* _198 215 .L22: 216 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:861: USBx 861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 217 .loc 2 861 22 view .LVU40 218 0066 7359 ldr r3, [r6, r5] @ _134,* _198 219 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:861: USBx 861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 220 .loc 2 861 32 view .LVU41 221 0068 43F00443 orr r3, r3, #-2080374784 @ _135, _134, 222 006c 7351 str r3, [r6, r5] @ _135,* _198 223 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:864: return 864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 224 .loc 2 864 10 view .LVU42 225 006e 34E0 b .L3 @ 226 .LVL6: 227 .L5: 228 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:756: US 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 229 .loc 2 756 34 view .LVU43 230 0070 09EA0202 and r2, r9, r2 @ _23, _22, tmp274 231 0074 2261 str r2, [r4, #16] @ _23, _195->DIEPTSIZ 232 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:757: US 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 233 .loc 2 757 23 view .LVU44 234 0076 2269 ldr r2, [r4, #16] @ _24, _195->DIEPTSIZ 235 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:757: US 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 236 .loc 2 757 34 view .LVU45 237 0078 3A40 ands r2, r2, r7 @, _25, _24, tmp273 238 007a 2261 str r2, [r4, #16] @ _25, _195->DIEPTSIZ 239 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:759: 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 240 .loc 2 759 58 view .LVU46 241 007c 8A68 ldr r2, [r1, #8] @ _27, ep_3(D)->maxpacket 242 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:758: US 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket) << 19)) 243 .loc 2 758 23 view .LVU47 244 007e D4F81090 ldr r9, [r4, #16] @ _26, _195->DIEPTSIZ 245 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:759: 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 246 .loc 2 759 54 view .LVU48 ARM GAS /tmp/ccJhhmLc.s page 27 247 0082 D718 adds r7, r2, r3 @ _28, _27, pretmp_199 248 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:759: 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 249 .loc 2 759 70 view .LVU49 250 0084 013F subs r7, r7, #1 @ _29, _28, 251 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:759: 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 252 .loc 2 759 76 view .LVU50 253 0086 B7FBF2F7 udiv r7, r7, r2 @ _30, _29, _27 254 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:758: US 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket) << 19)) 255 .loc 2 758 62 view .LVU51 256 008a 3F4A ldr r2, .L42+8 @ tmp239, 257 008c 02EAC742 and r2, r2, r7, lsl #19 @ _32, tmp239, _30, 258 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:758: US 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** (((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket) << 19)) 259 .loc 2 758 34 view .LVU52 260 0090 42EA0902 orr r2, r2, r9 @ _33, _32, _26 261 0094 2261 str r2, [r4, #16] @ _33, _195->DIEPTSIZ 262 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:761: US 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 263 .loc 2 761 23 view .LVU53 264 0096 2769 ldr r7, [r4, #16] @ _34, _195->DIEPTSIZ 265 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:761: US 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 266 .loc 2 761 62 view .LVU54 267 0098 C3F31202 ubfx r2, r3, #0, #19 @ _35, pretmp_199,, 268 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:761: US 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 269 .loc 2 761 34 view .LVU55 270 009c 3A43 orrs r2, r2, r7 @, _36, _35, _34 271 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:763: if 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 272 .loc 2 763 10 view .LVU56 273 009e BEF1010F cmp lr, #1 @ pretmp_200, 274 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:761: US 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 275 .loc 2 761 34 view .LVU57 276 00a2 2261 str r2, [r4, #16] @ _36, _195->DIEPTSIZ 277 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:763: if 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 278 .loc 2 763 10 view .LVU58 279 00a4 CBD1 bne .L6 @, 280 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:765: 765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29)); 281 .loc 2 765 25 view .LVU59 282 00a6 2269 ldr r2, [r4, #16] @ _38, _195->DIEPTSIZ 283 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:765: 765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29)); 284 .loc 2 765 36 view .LVU60 285 00a8 22F0C042 bic r2, r2, #1610612736 @ _39, _38, 286 00ac 2261 str r2, [r4, #16] @ _39, _195->DIEPTSIZ 287 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:766: 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 288 .loc 2 766 25 view .LVU61 289 00ae 2269 ldr r2, [r4, #16] @ _40, _195->DIEPTSIZ 290 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:766: ARM GAS /tmp/ccJhhmLc.s page 28 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 291 .loc 2 766 36 view .LVU62 292 00b0 42F00052 orr r2, r2, #536870912 @ _41, _40, 293 00b4 C2E7 b .L30 @ 294 .L7: 295 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:795: US 795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 296 .loc 2 795 23 view .LVU63 297 00b6 7259 ldr r2, [r6, r5] @ _75, _195->DIEPCTL 298 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:797: if 797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 299 .loc 2 797 10 view .LVU64 300 00b8 BEF1010F cmp lr, #1 @ pretmp_200, 301 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:795: US 795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 302 .loc 2 795 33 view .LVU65 303 00bc 42F00442 orr r2, r2, #-2080374784 @ _76, _75, 304 00c0 7251 str r2, [r6, r5] @ _76, _195->DIEPCTL 305 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:797: if 797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 306 .loc 2 797 10 view .LVU66 307 00c2 0CD0 beq .L12 @, 308 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:800: 800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 309 .loc 2 800 12 view .LVU67 310 00c4 4BB1 cbz r3, .L3 @ pretmp_199, 311 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:802: 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 312 .loc 2 802 22 view .LVU68 313 00c6 D0F83428 ldr r2, [r0, #2100] @ _80, _79->DIEPEMPMSK 314 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:802: 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 315 .loc 2 802 54 view .LVU69 316 00ca 08F00F08 and r8, r8, #15 @ _82, _4, 317 .LVL7: 318 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:802: 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 319 .loc 2 802 42 view .LVU70 320 00ce 0123 movs r3, #1 @ tmp247, 321 00d0 03FA08F3 lsl r3, r3, r8 @ _83, tmp247, _82 322 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:802: 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 323 .loc 2 802 35 view .LVU71 324 00d4 1343 orrs r3, r3, r2 @, _84, _83, _80 325 00d6 C0F83438 str r3, [r0, #2100] @ _84, _79->DIEPEMPMSK 326 .LVL8: 327 .L3: 328 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:865: } 865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 329 .loc 2 865 1 view .LVU72 330 00da BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} @ 331 .LVL9: 332 .L12: 333 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:807: 807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 334 .loc 2 807 25 view .LVU73 335 00de D0F80828 ldr r2, [r0, #2056] @ _87, _86->DSTS ARM GAS /tmp/ccJhhmLc.s page 29 336 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:807: 807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 337 .loc 2 807 12 view .LVU74 338 00e2 12F4807F tst r2, #256 @ _87, 339 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:809: 809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 340 .loc 2 809 27 view .LVU75 341 00e6 7259 ldr r2, [r6, r5] @ _89,* _198 342 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:809: 809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 343 .loc 2 809 37 view .LVU76 344 00e8 0CBF ite eq 345 00ea 42F00052 orreq r2, r2, #536870912 @ _90, _89, 346 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:813: 813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 347 .loc 2 813 37 view .LVU77 348 00ee 42F08052 orrne r2, r2, #268435456 @ _92, _91, 349 00f2 7251 str r2, [r6, r5] @ _92,* _198 350 .LVL10: 351 .LBB4: 352 .LBB5: 353 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:985: if (dm 985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 354 .loc 2 985 6 view .LVU78 355 00f4 BCF1000F cmp ip, #0 @ dma 356 00f8 EFD1 bne .L3 @ 357 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:987: coun 987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 358 .loc 2 987 31 view .LVU79 359 00fa 9BB2 uxth r3, r3 @ _162, pretmp_199 360 .LVL11: 987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 361 .loc 2 987 31 is_stmt 0 view .LVU80 362 .LBE5: 363 .LBE4: 364 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:816: 816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 365 .loc 2 816 15 is_stmt 1 view .LVU81 366 00fc CA68 ldr r2, [r1, #12] @ pSrc, ep_3(D)->xfer_buff 367 .LVL12: 368 .LBB7: 369 .LBB6: 370 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:987: coun 987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 371 .loc 2 987 31 view .LVU82 372 00fe 0333 adds r3, r3, #3 @ _175, _162, 373 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:990: US 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 374 .loc 2 990 7 view .LVU83 375 0100 00F58050 add r0, r0, #4096 @ _174, USBx, 376 .LVL13: 377 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:987: coun 987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** for (i = 0U; i < count32b; i++) 378 .loc 2 987 14 view .LVU84 379 0104 9B08 lsrs r3, r3, #2 @ count32b_176, _175, 380 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:990: US 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; ARM GAS /tmp/ccJhhmLc.s page 30 381 .loc 2 990 7 view .LVU85 382 0106 00EB0830 add r0, r0, r8, lsl #12 @ _181, _174, _4, 383 .LVL14: 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 384 .loc 2 990 7 is_stmt 0 view .LVU86 385 010a 02EB8303 add r3, r2, r3, lsl #2 @ _95, pSrc, count32b_176, 386 .LVL15: 387 .L17: 388 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:988: for 988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 389 .loc 2 988 20 is_stmt 1 discriminator 1 view .LVU87 390 010e 9342 cmp r3, r2 @ _95, pSrc 391 0110 E3D0 beq .L3 @, 392 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:990: US 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 393 .loc 2 990 41 view .LVU88 394 0112 52F8041B ldr r1, [r2], #4 @ unaligned @ _183, MEM[(const struct T_UINT32_READ *)pSrc_182] 395 .LVL16: 396 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:990: US 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 397 .loc 2 990 39 view .LVU89 398 0116 0160 str r1, [r0] @ _183, *_181 399 0118 F9E7 b .L17 @ 400 .LVL17: 401 .L4: 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** pSrc++; 402 .loc 2 990 39 is_stmt 0 view .LVU90 403 .LBE6: 404 .LBE7: 405 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:826: USBx 826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 406 .loc 2 826 22 is_stmt 1 view .LVU91 407 011a 00F53066 add r6, r0, #2816 @ _188, USBx, 408 011e 7419 adds r4, r6, r5 @ _98, _188, _198 409 0120 D4F81080 ldr r8, [r4, #16] @ _99, _98->DOEPTSIZ 410 .LVL18: 411 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:826: USBx 826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 412 .loc 2 826 33 view .LVU92 413 0124 08EA0202 and r2, r8, r2 @ _100, _99, tmp274 414 0128 2261 str r2, [r4, #16] @ _100, _98->DOEPTSIZ 415 .LVL19: 416 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:827: USBx 827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 417 .loc 2 827 22 view .LVU93 418 012a 2269 ldr r2, [r4, #16] @ _101, _98->DOEPTSIZ 419 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:827: USBx 827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 420 .loc 2 827 33 view .LVU94 421 012c 3A40 ands r2, r2, r7 @, _102, _101, tmp273 422 012e 2261 str r2, [r4, #16] @ _102, _98->DOEPTSIZ 423 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:831: US 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 424 .loc 2 831 67 view .LVU95 425 0130 8F68 ldr r7, [r1, #8] @ pretmp_197, ep_3(D)->maxpacket 426 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:829: if ( 829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/ccJhhmLc.s page 31 427 .loc 2 829 8 view .LVU96 428 0132 73B9 cbnz r3, .L19 @ pretmp_199, 429 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:831: US 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 430 .loc 2 831 24 view .LVU97 431 0134 2369 ldr r3, [r4, #16] @ _104, _98->DOEPTSIZ 432 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:831: US 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 433 .loc 2 831 63 view .LVU98 434 0136 C7F31207 ubfx r7, r7, #0, #19 @ _106, pretmp_197,, 435 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:831: US 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 436 .loc 2 831 35 view .LVU99 437 013a 1F43 orrs r7, r7, r3 @, _107, _106, _104 438 013c 2761 str r7, [r4, #16] @ _107, _98->DOEPTSIZ 439 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:832: US 832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 440 .loc 2 832 24 view .LVU100 441 013e 2369 ldr r3, [r4, #16] @ _108, _98->DOEPTSIZ 442 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:832: US 832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 443 .loc 2 832 35 view .LVU101 444 0140 43F40023 orr r3, r3, #524288 @ _109, _108, 445 .L33: 446 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:841: if ( 841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 447 .loc 2 841 8 view .LVU102 448 0144 BCF1010F cmp ip, #1 @ dma, 449 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:838: US 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 450 .loc 2 838 35 view .LVU103 451 0148 2361 str r3, [r4, #16] @ _122, 452 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:841: if ( 841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 453 .loc 2 841 8 view .LVU104 454 014a 7FF47EAF bne .L21 @, 455 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:843: if 843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 456 .loc 2 843 23 view .LVU105 457 014e CB68 ldr r3, [r1, #12] @ _123, ep_3(D)->xfer_buff 458 0150 79E7 b .L41 @ 459 .L19: 460 .LVL20: 461 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:837: US 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 462 .loc 2 837 62 view .LVU106 463 0152 DFF83490 ldr r9, .L42+8 @ tmp267, 464 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:837: US 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 465 .loc 2 837 24 view .LVU107 466 0156 D4F81080 ldr r8, [r4, #16] @ _114, _98->DOEPTSIZ 467 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:836: pk 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 468 .loc 2 836 41 view .LVU108 469 015a 3B44 add r3, r3, r7 @ _111, pretmp_197 470 .LVL21: 471 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:836: pk ARM GAS /tmp/ccJhhmLc.s page 32 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 472 .loc 2 836 57 view .LVU109 473 015c 013B subs r3, r3, #1 @ _112, _111, 474 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:836: pk 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 475 .loc 2 836 63 view .LVU110 476 015e B3FBF7F3 udiv r3, r3, r7 @ _113, _112, pretmp_197 477 0162 9AB2 uxth r2, r3 @ _115, _113 478 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:837: US 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 479 .loc 2 837 62 view .LVU111 480 0164 09EAC343 and r3, r9, r3, lsl #19 @ _117, tmp267, _113, 481 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:837: US 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 482 .loc 2 837 35 view .LVU112 483 0168 43EA0803 orr r3, r3, r8 @ _118, _117, _114 484 016c 2361 str r3, [r4, #16] @ _118, _98->DOEPTSIZ 485 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:838: US 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 486 .loc 2 838 24 view .LVU113 487 016e D4F81080 ldr r8, [r4, #16] @ _119, _98->DOEPTSIZ 488 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:838: US 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 489 .loc 2 838 79 view .LVU114 490 0172 07FB02F3 mul r3, r7, r2 @ _120, pretmp_197, _115 491 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:838: US 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 492 .loc 2 838 62 view .LVU115 493 0176 C3F31203 ubfx r3, r3, #0, #19 @ _121, _120,, 494 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:838: US 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 495 .loc 2 838 35 view .LVU116 496 017a 43EA0803 orr r3, r3, r8 @ _122, _121, _119 497 017e E1E7 b .L33 @ 498 .L43: 499 .align 2 500 .L42: 501 0180 FFFF07E0 .word -536346625 502 0184 0000F8FF .word -524288 503 0188 0000F81F .word 536346624 504 .cfi_endproc 505 .LFE5: 506 .size USB_EPStartXfer.isra.0, .-USB_EPStartXfer.isra.0 507 .section .text.USB_EP0StartXfer.isra.0,"ax",%progbits 508 .align 1 509 .syntax unified 510 .thumb 511 .thumb_func 512 .type USB_EP0StartXfer.isra.0, %function 513 USB_EP0StartXfer.isra.0: 514 .LVL22: 515 .LFB9: 877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 516 .loc 2 877 19 view -0 517 .cfi_startproc 518 @ args = 0, pretend = 0, frame = 0 519 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccJhhmLc.s page 33 520 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:883: if (ep 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 521 .loc 2 883 6 view .LVU118 522 0000 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2 @ ep_3(D)->is_in, ep_3(D)->is_in 523 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:877: HAL_Stat 877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 524 .loc 2 877 19 view .LVU119 525 0002 2DE9F041 push {r4, r5, r6, r7, r8, lr} @ 526 .LCFI1: 527 .cfi_def_cfa_offset 24 528 .cfi_offset 4, -24 529 .cfi_offset 5, -20 530 .cfi_offset 6, -16 531 .cfi_offset 7, -12 532 .cfi_offset 8, -8 533 .cfi_offset 14, -4 534 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:880: uint32 880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 535 .loc 2 880 32 view .LVU120 536 0006 91F800E0 ldrb lr, [r1] @ zero_extendqisi2 @ _4, ep_3(D)->num 537 .LVL23: 538 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:886: if ( 886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 539 .loc 2 886 11 view .LVU121 540 000a 4C69 ldr r4, [r1, #20] @ prephitmp_9, ep_3(D)->xfer_len 541 000c 364D ldr r5, .L67 @ tmp190, 542 000e 374E ldr r6, .L67+4 @ tmp191, 543 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:883: if (ep 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 544 .loc 2 883 6 view .LVU122 545 0010 012B cmp r3, #1 @ ep_3(D)->is_in, 546 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:888: US 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 547 .loc 2 888 23 view .LVU123 548 0012 4FEA4E17 lsl r7, lr, #5 @ _115, _4, 549 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:883: if (ep 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 550 .loc 2 883 6 view .LVU124 551 0016 45D1 bne .L45 @, 552 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:888: US 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 553 .loc 2 888 23 view .LVU125 554 0018 00F5106C add ip, r0, #2304 @ _111, USBx, 555 001c 0CEB0703 add r3, ip, r7 @ _113, _111, _115 556 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:886: if ( 886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 557 .loc 2 886 8 view .LVU126 558 0020 B4B9 cbnz r4, .L46 @ prephitmp_9, 559 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:888: US 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 560 .loc 2 888 23 view .LVU127 561 0022 1C69 ldr r4, [r3, #16] @ _12, _113->DIEPTSIZ 562 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:888: US 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 563 .loc 2 888 34 view .LVU128 564 0024 2C40 ands r4, r4, r5 @, _13, _12, tmp190 565 0026 1C61 str r4, [r3, #16] @ _13, _113->DIEPTSIZ ARM GAS /tmp/ccJhhmLc.s page 34 566 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:889: US 889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 567 .loc 2 889 23 view .LVU129 568 0028 1C69 ldr r4, [r3, #16] @ _14, _113->DIEPTSIZ 569 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:889: US 889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 570 .loc 2 889 34 view .LVU130 571 002a 44F40024 orr r4, r4, #524288 @ _15, _14, 572 002e 1C61 str r4, [r3, #16] @ _15, _113->DIEPTSIZ 573 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:890: US 890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 574 .loc 2 890 23 view .LVU131 575 0030 1C69 ldr r4, [r3, #16] @ _16, _113->DIEPTSIZ 576 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:890: US 890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 577 .loc 2 890 34 view .LVU132 578 0032 3440 ands r4, r4, r6 @, _17, _16, tmp191 579 .L66: 580 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:910: if ( 910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 581 .loc 2 910 8 view .LVU133 582 0034 012A cmp r2, #1 @ dma, 583 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:907: US 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 584 .loc 2 907 34 view .LVU134 585 0036 1C61 str r4, [r3, #16] @ _32, 586 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:910: if ( 910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 587 .loc 2 910 8 view .LVU135 588 0038 20D1 bne .L49 @, 589 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:912: if 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 590 .loc 2 912 23 view .LVU136 591 003a 0A69 ldr r2, [r1, #16] @ _34, ep_3(D)->dma_addr 592 .LVL24: 593 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:912: if 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 594 .loc 2 912 10 view .LVU137 595 003c 02B1 cbz r2, .L50 @ _34, 596 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:914: 914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 597 .loc 2 914 35 view .LVU138 598 003e 5A61 str r2, [r3, #20] @ _34, _113->DIEPDMA 599 .L50: 600 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:918: US 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 601 .loc 2 918 23 view .LVU139 602 0040 5CF80730 ldr r3, [ip, r7] @ _43, _113->DIEPCTL 603 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:918: US 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 604 .loc 2 918 33 view .LVU140 605 0044 43F00443 orr r3, r3, #-2080374784 @ _44, _43, 606 0048 4CF80730 str r3, [ip, r7] @ _44, _113->DIEPCTL 607 .LVL25: 608 .L44: 609 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:962: } 962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/ccJhhmLc.s page 35 610 .loc 2 962 1 view .LVU141 611 004c BDE8F081 pop {r4, r5, r6, r7, r8, pc} @ 612 .LVL26: 613 .L46: 614 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:899: US 899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 615 .loc 2 899 23 view .LVU142 616 0050 D3F81080 ldr r8, [r3, #16] @ _22, _113->DIEPTSIZ 617 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:899: US 899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 618 .loc 2 899 34 view .LVU143 619 0054 08EA0606 and r6, r8, r6 @ _23, _22, tmp191 620 0058 1E61 str r6, [r3, #16] @ _23, _113->DIEPTSIZ 621 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:900: US 900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 622 .loc 2 900 23 view .LVU144 623 005a 1E69 ldr r6, [r3, #16] @ _24, _113->DIEPTSIZ 624 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:900: US 900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 625 .loc 2 900 34 view .LVU145 626 005c 3540 ands r5, r5, r6 @, _25, tmp190, _24 627 005e 1D61 str r5, [r3, #16] @ _25, _113->DIEPTSIZ 628 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:902: if 902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 629 .loc 2 902 28 view .LVU146 630 0060 8D68 ldr r5, [r1, #8] @ _26, ep_3(D)->maxpacket 631 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:902: if 902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 632 .loc 2 902 10 view .LVU147 633 0062 A542 cmp r5, r4 @ _26, prephitmp_9 634 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:904: 904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 635 .loc 2 904 22 view .LVU148 636 0064 3CBF itt cc 637 0066 4D61 strcc r5, [r1, #20] @ _26, ep_3(D)->xfer_len 638 0068 2C46 movcc r4, r5 @ prephitmp_9, _26 639 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:906: US 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 640 .loc 2 906 23 view .LVU149 641 006a 1D69 ldr r5, [r3, #16] @ _27, _113->DIEPTSIZ 642 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:906: US 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 643 .loc 2 906 34 view .LVU150 644 006c 45F40025 orr r5, r5, #524288 @ _28, _27, 645 0070 1D61 str r5, [r3, #16] @ _28, _113->DIEPTSIZ 646 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:907: US 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 647 .loc 2 907 23 view .LVU151 648 0072 1D69 ldr r5, [r3, #16] @ _29, _113->DIEPTSIZ 649 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:907: US 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 650 .loc 2 907 62 view .LVU152 651 0074 C4F31204 ubfx r4, r4, #0, #19 @ _31, prephitmp_9,, 652 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:907: US 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 653 .loc 2 907 34 view .LVU153 654 0078 2C43 orrs r4, r4, r5 @, _32, _31, _29 ARM GAS /tmp/ccJhhmLc.s page 36 655 007a DBE7 b .L66 @ 656 .L49: 657 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:923: US 923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 658 .loc 2 923 23 view .LVU154 659 007c 5CF80730 ldr r3, [ip, r7] @ _49, _113->DIEPCTL 660 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:923: US 923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 661 .loc 2 923 33 view .LVU155 662 0080 43F00443 orr r3, r3, #-2080374784 @ _50, _49, 663 0084 4CF80730 str r3, [ip, r7] @ _50, _113->DIEPCTL 664 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:926: if 926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 665 .loc 2 926 10 view .LVU156 666 0088 4B69 ldr r3, [r1, #20] @ ep_3(D)->xfer_len, ep_3(D)->xfer_len 667 008a 002B cmp r3, #0 @ ep_3(D)->xfer_len 668 008c DED0 beq .L44 @ 669 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:928: 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 670 .loc 2 928 20 view .LVU157 671 008e D0F83428 ldr r2, [r0, #2100] @ _54, _53->DIEPEMPMSK 672 .LVL27: 673 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:928: 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 674 .loc 2 928 52 view .LVU158 675 0092 0EF00F0E and lr, lr, #15 @ _56, _4, 676 .LVL28: 677 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:928: 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 678 .loc 2 928 40 view .LVU159 679 0096 0123 movs r3, #1 @ tmp184, 680 0098 03FA0EF3 lsl r3, r3, lr @ _57, tmp184, _56 681 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:928: 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 682 .loc 2 928 33 view .LVU160 683 009c 1343 orrs r3, r3, r2 @, _58, _57, _54 684 009e C0F83438 str r3, [r0, #2100] @ _58, _53->DIEPEMPMSK 685 00a2 D3E7 b .L44 @ 686 .LVL29: 687 .L45: 688 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:938: USBx 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 689 .loc 2 938 22 view .LVU161 690 00a4 00F53060 add r0, r0, #2816 @ _105, USBx, 691 .LVL30: 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 692 .loc 2 938 22 is_stmt 0 view .LVU162 693 00a8 C319 adds r3, r0, r7 @ _62, _105, _115 694 00aa D3F810C0 ldr ip, [r3, #16] @ _63, _62->DOEPTSIZ 695 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:938: USBx 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 696 .loc 2 938 33 is_stmt 1 view .LVU163 697 00ae 0CEA0606 and r6, ip, r6 @ _64, _63, tmp191 698 00b2 1E61 str r6, [r3, #16] @ _64, _62->DOEPTSIZ 699 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:939: USBx 939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 700 .loc 2 939 22 view .LVU164 ARM GAS /tmp/ccJhhmLc.s page 37 701 00b4 1E69 ldr r6, [r3, #16] @ _65, _62->DOEPTSIZ 702 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:939: USBx 939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 703 .loc 2 939 33 view .LVU165 704 00b6 3540 ands r5, r5, r6 @, _66, tmp190, _65 705 00b8 1D61 str r5, [r3, #16] @ _66, _62->DOEPTSIZ 706 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:943: ep 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 707 .loc 2 943 24 view .LVU166 708 00ba 8D68 ldr r5, [r1, #8] @ pretmp_114, ep_3(D)->maxpacket 709 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:941: if ( 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 710 .loc 2 941 8 view .LVU167 711 00bc 04B1 cbz r4, .L52 @ prephitmp_9, 712 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:943: ep 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 713 .loc 2 943 20 view .LVU168 714 00be 4D61 str r5, [r1, #20] @ pretmp_114, ep_3(D)->xfer_len 715 .L52: 716 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:946: USBx 946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket)); 717 .loc 2 946 22 view .LVU169 718 00c0 1C69 ldr r4, [r3, #16] @ _69, _62->DOEPTSIZ 719 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:946: USBx 946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket)); 720 .loc 2 946 33 view .LVU170 721 00c2 44F40024 orr r4, r4, #524288 @ _70, _69, 722 00c6 1C61 str r4, [r3, #16] @ _70, _62->DOEPTSIZ 723 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:947: USBx 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 724 .loc 2 947 22 view .LVU171 725 00c8 1C69 ldr r4, [r3, #16] @ _71, _62->DOEPTSIZ 726 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:947: USBx 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 727 .loc 2 947 61 view .LVU172 728 00ca C5F31205 ubfx r5, r5, #0, #19 @ _73, pretmp_114,, 729 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:947: USBx 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 730 .loc 2 947 33 view .LVU173 731 00ce 2543 orrs r5, r5, r4 @, _74, _73, _71 732 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:949: if ( 949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 733 .loc 2 949 8 view .LVU174 734 00d0 012A cmp r2, #1 @ dma, 735 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:947: USBx 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 736 .loc 2 947 33 view .LVU175 737 00d2 1D61 str r5, [r3, #16] @ _74, _62->DOEPTSIZ 738 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:949: if ( 949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 739 .loc 2 949 8 view .LVU176 740 00d4 02D1 bne .L53 @, 741 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:951: if 951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 742 .loc 2 951 23 view .LVU177 743 00d6 CA68 ldr r2, [r1, #12] @ _75, ep_3(D)->xfer_buff 744 .LVL31: ARM GAS /tmp/ccJhhmLc.s page 38 745 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:951: if 951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 746 .loc 2 951 10 view .LVU178 747 00d8 02B1 cbz r2, .L53 @ _75, 748 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:953: 953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 749 .loc 2 953 36 view .LVU179 750 00da 5A61 str r2, [r3, #20] @ _75, _62->DOEPDMA 751 .L53: 752 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:958: USBx 958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 753 .loc 2 958 22 view .LVU180 754 00dc C359 ldr r3, [r0, r7] @ _77, _62->DOEPCTL 755 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:958: USBx 958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 756 .loc 2 958 32 view .LVU181 757 00de 43F00443 orr r3, r3, #-2080374784 @ _78, _77, 758 00e2 C351 str r3, [r0, r7] @ _78, _62->DOEPCTL 759 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:961: return 961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 760 .loc 2 961 10 view .LVU182 761 00e4 B2E7 b .L44 @ 762 .L68: 763 00e6 00BF .align 2 764 .L67: 765 00e8 FFFF07E0 .word -536346625 766 00ec 0000F8FF .word -524288 767 .cfi_endproc 768 .LFE9: 769 .size USB_EP0StartXfer.isra.0, .-USB_EP0StartXfer.isra.0 770 .section .text._ZL16i2c_ensure_mutexP16stm32_i2c_device,"ax",%progbits 771 .align 1 772 .syntax unified 773 .thumb 774 .thumb_func 775 .type _ZL16i2c_ensure_mutexP16stm32_i2c_device, %function 776 _ZL16i2c_ensure_mutexP16stm32_i2c_device: 777 .LVL32: 778 .LFB10: 779 .file 3 "/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp" 1:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* 2:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * Copyright (C) EdgeTX 3:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * 4:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * Based on code named 5:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * opentx - https://github.com/opentx/opentx 6:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * th9x - http://code.google.com/p/th9x 7:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * er9x - http://code.google.com/p/er9x 8:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * gruvin9x - http://code.google.com/p/gruvin9x 9:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * 10:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html 11:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * 12:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * This program is free software; you can redistribute it and/or modify 13:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * it under the terms of the GNU General Public License version 2 as 14:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * published by the Free Software Foundation. 15:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * 16:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * This program is distributed in the hope that it will be useful, 17:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * but WITHOUT ANY WARRANTY; without even the implied warranty of ARM GAS /tmp/ccJhhmLc.s page 39 18:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * GNU General Public License for more details. 20:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** */ 21:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 22:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #include 23:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 24:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #include "stm32_i2c_driver.h" 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #include "stm32_gpio.h" 26:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #include "stm32_hal_ll.h" 27:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #include "stm32_hal.h" 28:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 29:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #include "timers_driver.h" 30:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if !defined(BOOT) 31:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #include "os/task.h" 32:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 33:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #include "debug.h" 34:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 35:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define MAX_I2C_DEVICES 2 36:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 37:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** struct stm32_i2c_device { 38:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef handle; 39:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** const stm32_i2c_hw_def_t* hw_def; 40:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if !defined(BOOT) 41:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** mutex_handle_t mutex; 42:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** bool mutex_initialized; 43:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 44:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** }; 45:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 46:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static stm32_i2c_device _i2c_devs[MAX_I2C_DEVICES] = {}; 47:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 48:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static stm32_i2c_device* i2c_get_device(uint8_t bus) 49:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (bus >= MAX_I2C_DEVICES) return nullptr; 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus]; 52:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 53:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static I2C_HandleTypeDef* i2c_get_handle(uint8_t bus) 55:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (bus >= MAX_I2C_DEVICES) return nullptr; 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 58:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 59:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 60:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if !defined(BOOT) 61:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static void i2c_ensure_mutex(stm32_i2c_device* dev) 62:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 780 .loc 3 62 1 view -0 781 .cfi_startproc 782 @ args = 0, pretend = 0, frame = 0 783 @ frame_needed = 0, uses_anonymous_args = 0 63:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev->mutex_initialized && scheduler_is_running()) { 784 .loc 3 63 3 view .LVU184 785 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:63: if (!dev->mutex_ 786 .loc 3 63 31 is_stmt 0 view .LVU185 787 0000 90F8A430 ldrb r3, [r0, #164] @ zero_extendqisi2 @ dev_5(D)->mutex_initialized, dev_5(D)->mutex_initialized 788 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:62: { 62:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev->mutex_initialized && scheduler_is_running()) { 789 .loc 3 62 1 view .LVU186 ARM GAS /tmp/ccJhhmLc.s page 40 790 0004 10B5 push {r4, lr} @ 791 .LCFI2: 792 .cfi_def_cfa_offset 8 793 .cfi_offset 4, -8 794 .cfi_offset 14, -4 795 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:62: { 62:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev->mutex_initialized && scheduler_is_running()) { 796 .loc 3 62 1 view .LVU187 797 0006 0446 mov r4, r0 @ dev, tmp123 798 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:63: if (!dev->mutex_ 799 .loc 3 63 31 view .LVU188 800 0008 4BB9 cbnz r3, .L69 @ dev_5(D)->mutex_initialized, 801 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:63: if (!dev->mutex_ 802 .loc 3 63 54 discriminator 1 view .LVU189 803 000a FFF7FEFF bl _Z20scheduler_is_runningv @ 804 .LVL33: 805 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:63: if (!dev->mutex_ 806 .loc 3 63 31 discriminator 1 view .LVU190 807 000e 30B1 cbz r0, .L69 @ tmp124, 808 .LVL34: 809 .LBB10: 810 .LBI10: 61:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 811 .loc 3 61 13 is_stmt 1 view .LVU191 812 .LBB11: 64:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** mutex_create(&dev->mutex); 813 .loc 3 64 5 view .LVU192 814 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:64: mutex_create(& 815 .loc 3 64 17 is_stmt 0 view .LVU193 816 0010 04F15800 add r0, r4, #88 @, dev, 817 0014 FFF7FEFF bl _Z12mutex_createP14mutex_handle_t @ 818 .LVL35: 65:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->mutex_initialized = true; 819 .loc 3 65 5 is_stmt 1 view .LVU194 820 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:65: dev->mutex_ini 821 .loc 3 65 28 is_stmt 0 view .LVU195 822 0018 0123 movs r3, #1 @ tmp121, 823 001a 84F8A430 strb r3, [r4, #164] @ tmp121, dev_5(D)->mutex_initialized 824 .LVL36: 825 .L69: 826 .loc 3 65 28 view .LVU196 827 .LBE11: 828 .LBE10: 829 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:67: } 66:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 67:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 830 .loc 3 67 1 view .LVU197 831 001e 10BD pop {r4, pc} @ 832 .loc 3 67 1 view .LVU198 833 .cfi_endproc 834 .LFE10: 835 .size _ZL16i2c_ensure_mutexP16stm32_i2c_device, .-_ZL16i2c_ensure_mutexP16stm32_i2c_device 836 .section .text._ZL34sdio_check_card_state_with_timeoutm.constprop.0,"ax",%progbits 837 .align 1 838 .syntax unified 839 .thumb 840 .thumb_func ARM GAS /tmp/ccJhhmLc.s page 41 841 .type _ZL34sdio_check_card_state_with_timeoutm.constprop.0, %function 842 _ZL34sdio_check_card_state_with_timeoutm.constprop.0: 843 .LFB13: 844 .file 4 "/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp" 1:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /* 2:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * Copyright (C) EdgeTX 3:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * 4:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * Based on code named 5:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * opentx - https://github.com/opentx/opentx 6:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * th9x - http://code.google.com/p/th9x 7:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * er9x - http://code.google.com/p/er9x 8:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * gruvin9x - http://code.google.com/p/gruvin9x 9:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * 10:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html 11:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * 12:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * This program is free software; you can redistribute it and/or modify 13:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * it under the terms of the GNU General Public License version 2 as 14:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * published by the Free Software Foundation. 15:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * 16:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * This program is distributed in the hope that it will be useful, 17:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * but WITHOUT ANY WARRANTY; without even the implied warranty of 18:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * GNU General Public License for more details. 20:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** */ 21:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 22:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 23:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "diskio_sdio.h" 24:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "hal/gpio.h" 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 26:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "stm32_dma.h" 27:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "stm32_hal.h" 28:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "stm32_hal_ll.h" 29:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "stm32_gpio_driver.h" 30:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "stm32_gpio.h" 31:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 32:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "hal.h" 33:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 34:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 35:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(STORAGE_USE_SDIO) 36:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 37:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // #include "delays_driver.h" 38:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include "debug.h" 39:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 40:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #include 41:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 42:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if !defined(SD_SDIO_PIN_D0) 43:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_PIN_D0 GPIO_PIN(GPIOC, 8) 44:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # if defined(STM32H7RS) 45:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_D0 GPIO_AF11 46:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # else 47:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_D0 GPIO_AF12 48:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # endif 49:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if !defined(SD_SDIO_PIN_D1) 52:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_PIN_D1 GPIO_PIN(GPIOC, 9) 53:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # if defined(STM32H7RS) ARM GAS /tmp/ccJhhmLc.s page 42 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_D1 GPIO_AF11 55:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # else 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_D1 GPIO_AF12 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # endif 58:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 59:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 60:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if !defined(SD_SDIO_PIN_D2) 61:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_PIN_D2 GPIO_PIN(GPIOC, 10) 62:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_D2 GPIO_AF12 63:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 64:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 65:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if !defined(SD_SDIO_PIN_D3) 66:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_PIN_D3 GPIO_PIN(GPIOC, 11) 67:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # if defined(STM32H7RS) 68:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_D3 GPIO_AF11 69:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # else 70:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_D3 GPIO_AF12 71:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # endif 72:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 73:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 74:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if !defined(SD_SDIO_PIN_CMD) 75:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_PIN_CMD GPIO_PIN(GPIOD, 2) 76:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # if defined(STM32H7RS) 77:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_CMD GPIO_AF11 78:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # else 79:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_CMD GPIO_AF12 80:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # endif 81:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 82:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 83:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if !defined(SD_SDIO_PIN_CLK) 84:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_PIN_CLK GPIO_PIN(GPIOC, 12) 85:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # if defined(STM32H7RS) 86:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_CLK GPIO_AF11 87:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # else 88:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_AF_CLK GPIO_AF12 89:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # endif 90:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 91:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 92:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 93:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SDMMC1) 94:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_TypeDef SDMMC_TypeDef 95:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_CLOCK_EDGE_RISING SDMMC_CLOCK_EDGE_RISING 96:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_CLOCK_POWER_SAVE_DISABLE SDMMC_CLOCK_POWER_SAVE_DISABLE 97:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_BUS_WIDE_1B SDMMC_BUS_WIDE_1B 98:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_BUS_WIDE_4B SDMMC_BUS_WIDE_4B 99:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_HARDWARE_FLOW_CONTROL_DISABLE SDMMC_HARDWARE_FLOW_CONTROL_DISABLE 100:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_IRQn SDMMC1_IRQn 101:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #else 102:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # if !defined(SD_SDIO) 103:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO SDIO 104:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # endif 105:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define _SD_SDIO_CLK_ENABLE() __HAL_RCC_SDIO_CLK_ENABLE() 106:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define _SD_SDIO_CLK_DISABLE() __HAL_RCC_SDIO_CLK_DISABLE() 107:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_IRQHandler SDIO_IRQHandler 108:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_IRQn SDIO_IRQn 109:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_TypeDef SDIO_TypeDef 110:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_CLOCK_EDGE_RISING SDIO_CLOCK_EDGE_RISING ARM GAS /tmp/ccJhhmLc.s page 43 111:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_CLOCK_POWER_SAVE_DISABLE SDIO_CLOCK_POWER_SAVE_DISABLE 112:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_CLOCK_BYPASS_DISABLE SDIO_CLOCK_BYPASS_DISABLE 113:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_BUS_WIDE_1B SDIO_BUS_WIDE_1B 114:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_BUS_WIDE_4B SDIO_BUS_WIDE_4B 115:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** # define SD_SDIO_HARDWARE_FLOW_CONTROL_DISABLE SDIO_HARDWARE_FLOW_CONTROL_DISABLE 116:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 117:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 118:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** struct { 119:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SD_SDIO_TypeDef* periph = SD_SDIO; 120:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_t D0 = SD_SDIO_PIN_D0; 121:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_t D1 = SD_SDIO_PIN_D1; 122:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_t D2 = SD_SDIO_PIN_D2; 123:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_t D3 = SD_SDIO_PIN_D3; 124:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_t CMD = SD_SDIO_PIN_CMD; 125:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_t CLK = SD_SDIO_PIN_CLK; 126:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_af_t AF_D0 = SD_SDIO_AF_D0; 127:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_af_t AF_D1 = SD_SDIO_AF_D1; 128:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_af_t AF_D2 = SD_SDIO_AF_D2; 129:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_af_t AF_D3 = SD_SDIO_AF_D3; 130:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_af_t AF_CMD = SD_SDIO_AF_CMD; 131:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_af_t AF_CLK = SD_SDIO_AF_CLK; 132:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** IRQn_Type IRQn = SD_SDIO_IRQn; 133:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** uint32_t SD_CLK_DIV = SD_SDIO_TRANSFER_CLK_DIV; 134:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } currentSD; 135:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 136:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if FF_MAX_SS != FF_MIN_SS 137:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #error "Variable sector size is not supported" 138:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 139:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 140:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define BLOCK_SIZE FF_MAX_SS 141:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(RADIO_PA01) 142:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define SD_TIMEOUT 1000 /* 1000ms */ 143:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #else 144:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define SD_TIMEOUT 300 /* 300ms */ 145:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 146:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(STM32F4) 147:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern uint32_t _sram; 148:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern uint32_t _heap_start; 149:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SDRAM) 150:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define _IS_DMA_BUFFER(addr) \ 151:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** (((((intptr_t)(addr)) & 0xFF000000) == (((intptr_t)&_sram) & 0xFF000000)) || \ 152:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ((((intptr_t)(addr)) & 0xFC000000) == \ 153:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** (((intptr_t)&_heap_start) & 0xFC000000))) 154:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #else 155:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define _IS_DMA_BUFFER(addr) \ 156:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ((((intptr_t)(addr)) & 0xFF000000) == (((intptr_t)&_sram) & 0xFF000000)) 157:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 158:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #elif defined(STM32H7) 159:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // STM32H750: SDRAM excluded on purpose — DMA into SDRAM can cause 160:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // SDMMC FIFO overruns, so SDRAM buffers are bounced through scratch. 161:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern uint32_t _sram; 162:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern uint32_t _s_dram; 163:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define _IS_DMA_BUFFER(addr) \ 164:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** (((((intptr_t)(addr)) & 0xFF000000) == (((intptr_t)&_sram) & 0xFF000000)) || \ 165:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ((((intptr_t)(addr)) & 0xFFF60000) == \ 166:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** (((intptr_t)&_s_dram) & 0xFFF60000))) 167:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #elif defined(STM32H7RS) ARM GAS /tmp/ccJhhmLc.s page 44 168:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern uint32_t _sram; 169:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern uint32_t _s_dram; 170:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern uint32_t _heap_start; 171:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define _IS_DMA_BUFFER(addr) \ 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** (((((intptr_t)(addr)) & 0xFF000000) == (((intptr_t)&_sram) & 0xFF000000)) || \ 173:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ((((intptr_t)(addr)) & 0xFFF60000) == \ 174:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** (((intptr_t)&_s_dram) & 0xFFF60000)) || \ 175:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ((((intptr_t)(addr)) & 0xFC000000) == \ 176:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** (((intptr_t)&_heap_start) & 0xFC000000))) 177:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #else 178:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define _IS_DMA_BUFFER(addr) (true) 179:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 180:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 181:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define _IS_ALIGNED(addr) (((intptr_t)(addr) & 3U) == 0U) 182:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 183:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // HAL state 184:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static SD_HandleTypeDef sdio; 185:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SD_SDIO_DMA) 186:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(STM32H7) || defined(STM32H7RS) || defined(STM32H5) 187:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static_assert(false,"H7/H5 use dedicated DMA controler"); 188:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #else 189:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DMA_HandleTypeDef sdioTxDma; 190:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 191:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 192:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 193:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // Disk status 194:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static volatile uint32_t WriteStatus; 195:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static volatile uint32_t ReadStatus; 196:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 197:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static void _sd_sdio_clk_enable(SD_SDIO_TypeDef* periph) 198:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 199:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SDMMC1) 200:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (periph == SDMMC1) { 201:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** __HAL_RCC_SDMMC1_CLK_ENABLE(); 202:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } else if(periph == SDMMC2) { 203:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** __HAL_RCC_SDMMC2_CLK_ENABLE(); 204:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 205:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #else 206:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** (void)periph; 207:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** __HAL_RCC_SDIO_CLK_ENABLE(); 208:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 209:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 210:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 211:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static void sdio_low_level_init(void) 212:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 213:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** _sd_sdio_clk_enable(currentSD.periph); 214:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 215:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // data pins 216:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init(currentSD.D0, GPIO_IN_PU, GPIO_PIN_SPEED_VERY_HIGH); 217:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_set_af(currentSD.D0, currentSD.AF_D0); 218:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 219:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init(currentSD.D1, GPIO_IN_PU, GPIO_PIN_SPEED_VERY_HIGH); 220:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_set_af(currentSD.D1, currentSD.AF_D1); 221:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 222:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init(currentSD.D2, GPIO_IN_PU, GPIO_PIN_SPEED_VERY_HIGH); 223:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_set_af(currentSD.D2, currentSD.AF_D2); 224:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ARM GAS /tmp/ccJhhmLc.s page 45 225:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init(currentSD.D3, GPIO_IN_PU, GPIO_PIN_SPEED_VERY_HIGH); 226:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_set_af(currentSD.D3, currentSD.AF_D3); 227:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 228:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init(currentSD.CMD, GPIO_IN_PU, GPIO_PIN_SPEED_VERY_HIGH); 229:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_set_af(currentSD.CMD, currentSD.AF_CMD); 230:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 231:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init(currentSD.CLK, GPIO_IN_PU, GPIO_PIN_SPEED_VERY_HIGH); 232:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_set_af(currentSD.CLK, currentSD.AF_CLK); 233:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 234:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SD_SDIO_HAS_TRANSCEIVER) 235:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init_af(SD_SDIO_PIN_CKIN, SD_SDIO_AF_CKIN, GPIO_PIN_SPEED_HIGH); 236:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init_af(SD_SDIO_PIN_CDIR, SD_SDIO_AF_CDIR, GPIO_PIN_SPEED_HIGH); 237:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init_af(SD_SDIO_PIN_D0DIR, SD_SDIO_AF_D0DIR, GPIO_PIN_SPEED_HIGH); 238:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** gpio_init_af(SD_SDIO_PIN_D123DIR, SD_SDIO_AF_D123DIR, GPIO_PIN_SPEED_HIGH); 239:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 240:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 241:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // SDIO Interrupt ENABLE 242:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** NVIC_SetPriority(currentSD.IRQn, 0); 243:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** NVIC_EnableIRQ(currentSD.IRQn); 244:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 245:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SD_SDIO_DMA) 246:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // Init SDIO DMA instance 247:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Instance = SD_SDIO_DMA_STREAM; 248:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.Channel = SD_SDIO_DMA_CHANNEL; 249:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.PeriphInc = DMA_PINC_DISABLE; 250:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.MemInc = DMA_MINC_ENABLE; 251:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 252:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 253:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.Mode = DMA_PFCTRL; 254:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.Priority = DMA_PRIORITY_VERY_HIGH; 255:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 256:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 257:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.MemBurst = DMA_MBURST_INC4; 258:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdioTxDma.Init.PeriphBurst = DMA_PBURST_INC4; 259:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 260:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** stm32_dma_enable_clock(SD_SDIO_DMA); 261:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_DMA_Init(&sdioTxDma); 262:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 263:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** __HAL_LINKDMA(&sdio, hdmatx, sdioTxDma); 264:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** __HAL_LINKDMA(&sdio, hdmarx, sdioTxDma); 265:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 266:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // DMA2 STREAMx Interrupt ENABLE 267:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** NVIC_SetPriority(SD_SDIO_DMA_IRQn, 0); 268:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** NVIC_EnableIRQ(SD_SDIO_DMA_IRQn); 269:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 270:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 271:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 272:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DSTATUS sdio_initialize(BYTE lun) 273:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 274:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SD2_PRESENT_GPIO) 275:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /* Define active SD */ 276:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (gpio_read(SD2_PRESENT_GPIO) == 0) { 277:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.periph = SDMMC2; 278:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.D0 = SD2_SDIO_PIN_D0; 279:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.AF_D0 = SD2_SDIO_AF_D0; 280:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.D1 = SD2_SDIO_PIN_D1; 281:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.AF_D1 = SD2_SDIO_AF_D1; ARM GAS /tmp/ccJhhmLc.s page 46 282:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.D2 = SD2_SDIO_PIN_D2; 283:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.AF_D2 = SD2_SDIO_AF_D2; 284:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.D3 = SD2_SDIO_PIN_D3; 285:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.AF_D3 = SD2_SDIO_AF_D3; 286:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.CMD = SD2_SDIO_PIN_CMD; 287:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.AF_CMD = SD2_SDIO_AF_CMD; 288:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.CLK = SD2_SDIO_PIN_CLK; 289:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.AF_CLK = SD2_SDIO_AF_CLK; 290:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.IRQn = SDMMC2_IRQn; 291:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** currentSD.SD_CLK_DIV = SD2_SDIO_TRANSFER_CLK_DIV; 292:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 293:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 294:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 295:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /* SDIO Peripheral Low Level Init */ 296:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio_low_level_init(); 297:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 298:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /*!< Configure the SDIO peripheral */ 299:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 300:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio.Instance = currentSD.periph; 301:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio.Init.ClockEdge = SD_SDIO_CLOCK_EDGE_RISING; 302:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio.Init.ClockPowerSave = SD_SDIO_CLOCK_POWER_SAVE_DISABLE; 303:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio.Init.BusWide = SD_SDIO_BUS_WIDE_1B; 304:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio.Init.HardwareFlowControl = SD_SDIO_HARDWARE_FLOW_CONTROL_DISABLE; 305:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if ( USE_SD_TRANSCEIVER > 0U ) 306:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio.Init.TranceiverPresent = SDMMC_TRANSCEIVER_PRESENT; 307:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 308:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SD_SDIO_CLOCK_BYPASS_DISABLE) 309:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio.Init.ClockBypass = SD_SDIO_CLOCK_BYPASS_DISABLE; 310:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 311:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sdio.Init.ClockDiv = currentSD.SD_CLK_DIV; 312:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 313:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_StatusTypeDef halStatus = HAL_SD_Init(&sdio); 314:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (halStatus != HAL_OK) { 315:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("HAL_SD_Init() status=%d", halStatus); 316:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /*!< CMD Response TimeOut (wait for CMDSENT flag) */ 317:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return STA_NOINIT; 318:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 319:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 320:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_SD_CardInfoTypeDef cardInfo; 321:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_StatusTypeDef es = HAL_SD_GetCardInfo(&sdio, &cardInfo); 322:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(es != HAL_OK) { 323:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return STA_NOINIT; 324:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 325:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 326:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** halStatus = HAL_SD_ConfigWideBusOperation(&sdio, SD_SDIO_BUS_WIDE_4B); 327:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (halStatus != HAL_OK) { 328:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("HAL_SD_ConfigWideBusOperation() status=%d", halStatus); 329:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } else { 330:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD Bus width successfully set to 4 bits"); 331:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 332:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 333:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD card info:"); 334:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("type: %u", (uint32_t)(cardInfo.CardType)); 335:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("class: %u", (uint32_t)(cardInfo.Class)); 336:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("block nbr size: %u", (uint32_t)(cardInfo.BlockNbr)); 337:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("block size: %u", (uint32_t)(cardInfo.BlockSize)); 338:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ARM GAS /tmp/ccJhhmLc.s page 47 339:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 340:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 341:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 342:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // DMA scratch buffer used in case the input buffer is not aligned. 343:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // On STM32H750 it also handles SDRAM-targeted reads: the SDMMC FIFO 344:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // overruns when DMA writes directly to the comparatively slow SDRAM, 345:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // so those reads are bounced through internal SRAM in 8 KB chunks. 346:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(STM32H7) 347:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define SCRATCH_SECTORS 16 348:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #else 349:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #define SCRATCH_SECTORS 1 350:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 351:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static uint8_t scratch[SCRATCH_SECTORS * BLOCK_SIZE] __DMA; 352:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 353:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** typedef enum 354:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 355:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SD_TRANSFER_OK = 0, 356:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SD_TRANSFER_BUSY = 1, 357:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SD_TRANSFER_ERROR 358:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } SDTransferState; 359:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 360:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static SDTransferState sdio_check_card_state() 361:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 362:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_SD_CardStateTypeDef cardstate = HAL_SD_GetCardState(&sdio); 363:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 364:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (cardstate == HAL_SD_CARD_TRANSFER) { 365:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return SD_TRANSFER_OK; 366:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 367:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** else if (cardstate == HAL_SD_CARD_ERROR) { 368:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return SD_TRANSFER_ERROR; 369:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 370:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 371:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return SD_TRANSFER_BUSY; 372:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 373:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 374:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static int sdio_check_card_state_with_timeout(uint32_t timeout) 845 .loc 4 374 12 is_stmt 1 view -0 846 .cfi_startproc 847 @ args = 0, pretend = 0, frame = 0 848 @ frame_needed = 0, uses_anonymous_args = 0 849 .LVL37: 850 .loc 4 374 12 is_stmt 0 view .LVU200 851 0000 38B5 push {r3, r4, r5, lr} @ 852 .LCFI3: 853 .cfi_def_cfa_offset 16 854 .cfi_offset 3, -16 855 .cfi_offset 4, -12 856 .cfi_offset 5, -8 857 .cfi_offset 14, -4 858 .LBB24: 859 .LBB25: 860 .LBB26: 861 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 862 .file 5 "/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp" 1:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** /* 2:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * Copyright (C) EdgeTX 3:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * ARM GAS /tmp/ccJhhmLc.s page 48 4:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * Based on code named 5:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * opentx - https://github.com/opentx/opentx 6:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * th9x - http://code.google.com/p/th9x 7:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * er9x - http://code.google.com/p/er9x 8:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * gruvin9x - http://code.google.com/p/gruvin9x 9:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * 10:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html 11:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * 12:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * This program is free software; you can redistribute it and/or modify 13:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * it under the terms of the GNU General Public License version 2 as 14:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * published by the Free Software Foundation. 15:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * 16:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * This program is distributed in the hope that it will be useful, 17:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * but WITHOUT ANY WARRANTY; without even the implied warranty of 18:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** * GNU General Public License for more details. 20:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** */ 21:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** 22:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** #include "timers_driver.h" 23:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** #include "stm32_timer.h" 24:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** #include "stm32_hal_ll.h" 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** 26:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** #include "hal.h" 27:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** #include "hal/watchdog_driver.h" 28:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** 29:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** static volatile uint32_t _ms_ticks; 30:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** 31:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** static void _init_1ms_timer() 32:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 33:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** stm32_timer_enable_clock(MS_TIMER); 34:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** if ((MS_TIMER->CR1 & TIM_CR1_CEN) == TIM_CR1_CEN) return; 35:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** 36:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** _ms_ticks = 0; 37:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** MS_TIMER->ARR = 999; // 1mS in uS 38:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** MS_TIMER->PSC = (PERI1_FREQUENCY * TIMER_MULT_APB1) / 1000000 - 1; // 1uS 39:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** MS_TIMER->CCER = 0; 40:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** MS_TIMER->CCMR1 = 0; 41:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** MS_TIMER->EGR = 0; 42:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** MS_TIMER->CR1 = TIM_CR1_CEN | TIM_CR1_URS; 43:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** MS_TIMER->DIER = TIM_DIER_UIE; 44:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** 45:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** NVIC_EnableIRQ(MS_TIMER_IRQn); 46:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** NVIC_SetPriority(MS_TIMER_IRQn, 0); 47:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** } 48:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** 49:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** void timersInit() 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** _init_1ms_timer(); 52:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** } 53:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** uint32_t timersGetMsTick() 55:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** return _ms_ticks; 863 .loc 5 56 10 is_stmt 1 view .LVU201 864 0002 0C4C ldr r4, .L83 @ tmp122, 865 0004 2568 ldr r5, [r4] @ _14, _ms_ticks 866 .LVL38: ARM GAS /tmp/ccJhhmLc.s page 49 867 .L77: 868 .loc 5 56 10 is_stmt 0 view .LVU202 869 .LBE26: 870 .LBE25: 871 .LBE24: 872 .LBB27: 873 .LBB28: 874 .LBB29: 875 0006 2368 ldr r3, [r4] @ _18, _ms_ticks 876 .LBE29: 877 .LBE28: 878 .LBE27: 879 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:378: while(HAL_GetTick() 375:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 376:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** uint32_t timer = HAL_GetTick(); 377:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /* block until SDIO IP is ready again or a timeout occur */ 378:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while(HAL_GetTick() - timer < timeout) { 880 .loc 4 378 23 is_stmt 1 discriminator 1 view .LVU203 881 0008 5B1B subs r3, r3, r5 @ _4, _18, _14 882 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:378: while(HAL_GetTick() 883 .loc 4 378 31 discriminator 1 view .LVU204 884 000a B3F5967F cmp r3, #300 @ _4, 885 000e 02D3 bcc .L80 @, 886 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:385: return -1; 379:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** auto state = sdio_check_card_state(); 380:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (state != SD_TRANSFER_BUSY) { 381:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return state == SD_TRANSFER_OK ? 0 : -1; 382:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 383:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 384:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 385:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return -1; 887 .loc 4 385 11 view .LVU205 888 0010 4FF0FF30 mov r0, #-1 @ , 889 0014 0AE0 b .L76 @ 890 .L80: 891 .LBB30: 892 .LBB31: 893 .LBB32: 894 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:362: HAL_SD_CardStateType 362:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 895 .loc 4 362 58 view .LVU206 896 0016 0848 ldr r0, .L83+4 @, 897 0018 FFF7FEFF bl HAL_SD_GetCardState @ 898 .LVL39: 899 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:364: if (cardstate == HAL 364:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return SD_TRANSFER_OK; 900 .loc 4 364 3 view .LVU207 901 001c 0428 cmp r0, #4 @ cardstate, 902 001e 06D0 beq .L81 @, 903 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:367: else if (cardstate = 367:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return SD_TRANSFER_ERROR; 904 .loc 4 367 8 view .LVU208 905 0020 FF28 cmp r0, #255 @ cardstate, 906 0022 F0D1 bne .L77 @, 907 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:368: return SD_TRANSFER 368:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 908 .loc 4 368 12 view .LVU209 ARM GAS /tmp/ccJhhmLc.s page 50 909 0024 0220 movs r0, #2 @ _2, 910 .LVL40: 911 .L78: 368:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 912 .loc 4 368 12 is_stmt 0 view .LVU210 913 .LBE32: 914 .LBE31: 915 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:381: return state == 381:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 916 .loc 4 381 38 is_stmt 1 view .LVU211 917 0026 C0F34000 ubfx r0, r0, #1, #1 @ _21, _2,, 918 002a 4042 rsbs r0, r0, #0 @ , _21 919 .L76: 920 .LBE30: 921 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:386: } 386:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 922 .loc 4 386 1 view .LVU212 923 002c 38BD pop {r3, r4, r5, pc} @ 924 .LVL41: 925 .L81: 926 .LBB35: 927 .LBB34: 928 .LBB33: 929 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:365: return SD_TRANSFER 365:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 930 .loc 4 365 12 view .LVU213 931 002e 0020 movs r0, #0 @ _2, 932 .LVL42: 365:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 933 .loc 4 365 12 is_stmt 0 view .LVU214 934 0030 F9E7 b .L78 @ 935 .L84: 936 0032 00BF .align 2 937 .L83: 938 0034 00000000 .word _ZL9_ms_ticks.lto_priv.0 939 0038 00000000 .word _ZL4sdio.lto_priv.0 940 .LBE33: 941 .LBE34: 942 .LBE35: 943 .cfi_endproc 944 .LFE13: 945 .size _ZL34sdio_check_card_state_with_timeoutm.constprop.0, .-_ZL34sdio_check_card_state_with_time 946 .section .text._Z10sdio_ioctlhhPv,"ax",%progbits 947 .align 1 948 .global _Z10sdio_ioctlhhPv 949 .hidden _Z10sdio_ioctlhhPv 950 .syntax unified 951 .thumb 952 .thumb_func 953 .type _Z10sdio_ioctlhhPv, %function 954 _Z10sdio_ioctlhhPv: 955 .LVL43: 956 .LFB17: 387:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 388:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DSTATUS sdio_status(BYTE lun) 389:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 390:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DSTATUS stat = RES_OK; ARM GAS /tmp/ccJhhmLc.s page 51 391:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 392:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SD2_PRESENT_GPIO) 393:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (currentSD.periph == SDMMC2 && gpio_read(SD2_PRESENT_GPIO)) { 394:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** stat |= STA_NODISK; 395:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 396:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #elif defined(SD_PRESENT_GPIO) 397:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (gpio_read(SD_PRESENT_GPIO)) { 398:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** stat |= STA_NODISK; 399:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 400:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 401:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 402:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return stat; 403:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 404:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 405:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DRESULT _read_dma(BYTE* buff, DWORD sector, UINT count) 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ReadStatus = 0; 408:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if __CORTEX_M >= 0x07 410:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SCB_CleanInvalidateDCache_by_Addr(buff, count * 512); 411:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 412:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 413:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (HAL_SD_ReadBlocks_DMA(&sdio, buff, sector, count) != HAL_OK) { 414:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD ReadBlocks failed (s:%u/c:%u)", sector, (uint32_t)count); 415:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 416:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 417:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 418:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // Wait for the reading process to complete or a timeout to occur 419:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** uint32_t timeout = HAL_GetTick(); 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while((ReadStatus == 0) && ((HAL_GetTick() - timeout) < SD_TIMEOUT)); 421:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 422:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (ReadStatus == 0) { 423:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read timeout (s:%u c:%u)", sector, (uint32_t)count); 424:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 425:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 426:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (ReadStatus == 2) { 428:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read DMA error (s:%u c:%u)", sector, (uint32_t)count); 429:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ReadStatus = 0; 430:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 431:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 432:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 433:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ReadStatus = 0; 434:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 435:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 436:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 437:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DRESULT sdio_read(BYTE lun, BYTE * buff, DWORD sector, UINT count) 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 439:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 440:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 441:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (sdio_check_card_state_with_timeout(SD_TIMEOUT) < 0) { 442:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 443:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 444:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (!_IS_DMA_BUFFER(buff) || !_IS_ALIGNED(buff)) { 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count) { 447:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UINT chunk = (count > SCRATCH_SECTORS) ? SCRATCH_SECTORS : count; ARM GAS /tmp/ccJhhmLc.s page 52 448:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = _read_dma(scratch, sector, chunk); 449:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 450:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(buff, scratch, chunk * BLOCK_SIZE); 451:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** buff += chunk * BLOCK_SIZE; 452:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sector += chunk; 453:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** count -= chunk; 454:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 455:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return res; 456:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 457:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 458:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = _read_dma(buff, sector, count); 459:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) return res; 460:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 461:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (sdio_check_card_state_with_timeout(SD_TIMEOUT) < 0) { 462:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c:%u", sector, (uint32_t)count); 463:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 464:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 465:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 466:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 467:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 468:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 469:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DRESULT _write_dma(const BYTE *buff, DWORD sector, UINT count) 470:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 471:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if __CORTEX_M >= 0x07 472:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SCB_CleanDCache_by_Addr((void *)buff, count * 512); 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 474:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** WriteStatus = 0; 476:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (HAL_SD_WriteBlocks_DMA(&sdio, (uint8_t*)buff, sector, count) != HAL_OK) { 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD WriteBlocks failed (s:%u/c:%u)", sector, (uint32_t)count); 478:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 479:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 480:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 481:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** // Wait that the writing process is completed or a timeout occurs 482:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** uint32_t timeout = HAL_GetTick(); 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while((WriteStatus == 0) && ((HAL_GetTick() - timeout) < SD_TIMEOUT)); 484:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 485:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (WriteStatus == 0) { 486:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write timeout (s:%u/c:%u)", sector, (uint32_t)count); 487:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 488:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 489:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 490:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (WriteStatus == 2) { 491:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write DMA error (s:%u/c:%u)", sector, (uint32_t)count); 492:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** WriteStatus = 0; 493:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 494:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 495:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 496:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** WriteStatus = 0; 497:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 498:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 499:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 500:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DRESULT sdio_write(BYTE lun, const BYTE *buff, DWORD sector, UINT count) 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 502:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 503:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (sdio_check_card_state_with_timeout(SD_TIMEOUT) < 0) { ARM GAS /tmp/ccJhhmLc.s page 53 505:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 506:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 507:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (!_IS_DMA_BUFFER(buff) || !_IS_ALIGNED(buff)) { 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count--) { 510:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = _write_dma((BYTE *)scratch, sector++, 1); 512:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 513:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** buff += BLOCK_SIZE; 514:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 515:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (sdio_check_card_state_with_timeout(SD_TIMEOUT) < 0) { 516:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 517:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 518:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 519:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return res; 520:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 521:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = _write_dma(buff, sector, count); 523:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) return res; 524:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 525:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (sdio_check_card_state_with_timeout(SD_TIMEOUT) < 0) { 526:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c: %u", sector, (uint32_t)count); 527:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 528:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 529:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 530:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 531:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 532:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 533:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DRESULT sdio_get_sector_count(DWORD* sectors) 534:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 535:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_SD_CardInfoTypeDef cardInfo; 536:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(HAL_SD_GetCardInfo(&sdio, &cardInfo) != HAL_OK) { 537:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 538:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 539:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** *sectors = cardInfo.LogBlockNbr; 541:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 542:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 543:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 544:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DRESULT sdio_get_sector_size(DWORD* sector_size) 545:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_SD_CardInfoTypeDef cardInfo; 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(HAL_SD_GetCardInfo(&sdio, &cardInfo) != HAL_OK) { 548:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 549:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 550:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** *sector_size = cardInfo.LogBlockSize; 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 553:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 554:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 555:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** static DRESULT sdio_get_block_size(DWORD* block_size) 556:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 557:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DWORD sector_size; 558:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = sdio_get_sector_size(§or_size); 559:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res == RES_OK) { 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** *block_size = sector_size / BLOCK_SIZE; 561:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } ARM GAS /tmp/ccJhhmLc.s page 54 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return res; 563:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 564:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 565:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT sdio_ioctl(BYTE lun, BYTE ctrl, void *buff) 566:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 957 .loc 4 566 1 is_stmt 1 view -0 958 .cfi_startproc 959 @ args = 0, pretend = 0, frame = 0 960 @ frame_needed = 0, uses_anonymous_args = 0 567:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 961 .loc 4 567 3 view .LVU216 568:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** switch (ctrl) { 962 .loc 4 568 3 view .LVU217 963 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:566: { 566:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 964 .loc 4 566 1 is_stmt 0 view .LVU218 965 0000 08B5 push {r3, lr} @ 966 .LCFI4: 967 .cfi_def_cfa_offset 8 968 .cfi_offset 3, -8 969 .cfi_offset 14, -4 970 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:568: switch (ctrl) { 971 .loc 4 568 3 view .LVU219 972 0002 0329 cmp r1, #3 @ tmp132, 973 0004 06D8 bhi .L86 @ 974 0006 DFE801F0 tbb [pc, r1] @ tmp132 975 .L88: 976 000a 0E .byte (.L91-.L88)/2 977 000b 02 .byte (.L90-.L88)/2 978 000c 07 .byte (.L89-.L88)/2 979 000d 0A .byte (.L87-.L88)/2 980 .p2align 1 981 .L90: 569:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** case GET_SECTOR_COUNT : /* Get number of sectors on the disk (DWORD) */ 982 .loc 4 569 5 is_stmt 1 view .LVU220 570:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_sector_count((DWORD*)buff); 983 .loc 4 570 7 view .LVU221 984 .LVL44: 985 .LBB50: 986 .LBI50: 533:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 987 .loc 4 533 16 view .LVU222 988 .LBB51: 535:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(HAL_SD_GetCardInfo(&sdio, &cardInfo) != HAL_OK) { 989 .loc 4 535 3 view .LVU223 536:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 990 .loc 4 536 3 view .LVU224 991 .LBB52: 992 .LBI52: 993 .file 6 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @file stm32f4xx_hal_sd.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief SD card HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * This file provides firmware functions to manage the following 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * functionalities of the Secure Digital (SD) peripheral: ARM GAS /tmp/ccJhhmLc.s page 55 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * + Initialization and de-initialization functions 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * + IO operation functions 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * + Peripheral Control functions 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * + Peripheral State functions 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** @verbatim 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================================================== 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ##### How to use this driver ##### 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================================================== 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This driver implements a high level communication layer for read and write from/to 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** this memory. The needed STM32 hardware resources (SDIO and GPIO) are performed by 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** the user in HAL_SD_MspInit() function (MSP layer). 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Basically, the MSP layer configuration should be the same as we provide in the 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** examples. 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You can easily tailor this configuration according to hardware resources. 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This driver is a generic layered driver for SDIO memories which uses the HAL 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO driver functions to interface with SD and uSD cards devices. 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** It is used as follows: 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (#)Initialize the SDIO low level resources by implementing the HAL_SD_MspInit() API: 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (##) Enable the SDIO interface clock using __HAL_RCC_SDIO_CLK_ENABLE(); 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (##) SDIO pins configuration for SD card 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) Enable the clock for the SDIO GPIOs using the functions __HAL_RCC_GPIOx_CLK_ENABL 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) Configure these SDIO pins as alternate function pull-up using HAL_GPIO_Init() 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and according to your pin assignment; 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (##) DMA configuration if you need to use DMA process (HAL_SD_ReadBlocks_DMA() 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and HAL_SD_WriteBlocks_DMA() APIs). 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) Enable the DMAx interface clock using __HAL_RCC_DMAx_CLK_ENABLE(); 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) Configure the DMA using the function HAL_DMA_Init() with predeclared and filled. 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (##) NVIC configuration if you need to use interrupt process when using DMA transfer. 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) Configure the SDIO and DMA interrupt priorities using functions 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_NVIC_SetPriority(); DMA priority is superior to SDIO's priority 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) Enable the NVIC DMA and SDIO IRQs using function HAL_NVIC_EnableIRQ() 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) SDIO interrupts are managed using the macros __HAL_SD_ENABLE_IT() 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and __HAL_SD_DISABLE_IT() inside the communication process. 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) SDIO interrupts pending bits are managed using the macros __HAL_SD_GET_IT() 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and __HAL_SD_CLEAR_IT() 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (##) NVIC configuration if you need to use interrupt process (HAL_SD_ReadBlocks_IT() 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and HAL_SD_WriteBlocks_IT() APIs). 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) Configure the SDIO interrupt priorities using function HAL_NVIC_SetPriority(); 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) Enable the NVIC SDIO IRQs using function HAL_NVIC_EnableIRQ() 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) SDIO interrupts are managed using the macros __HAL_SD_ENABLE_IT() 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and __HAL_SD_DISABLE_IT() inside the communication process. 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+++) SDIO interrupts pending bits are managed using the macros __HAL_SD_GET_IT() 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and __HAL_SD_CLEAR_IT() 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (#) At this stage, you can perform SD read/write/erase operations after SD card initialization 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** SD Card Initialization and configuration *** 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ================================================ 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** To initialize the SD Card, use the HAL_SD_Init() function. It Initializes 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO Peripheral(STM32 side) and the SD Card, and put it into StandBy State (Ready for data tran 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function provide the following operations: ARM GAS /tmp/ccJhhmLc.s page 56 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (#) Apply the SD Card initialization process at 400KHz and check the SD Card 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** type (Standard Capacity or High Capacity). You can change or adapt this 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** frequency by adjusting the "ClockDiv" field. 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** The SD Card frequency (SDIO_CK) is computed as follows: 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_CK = SDIOCLK / (ClockDiv + 2) 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** In initialization mode and according to the SD Card standard, 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** make sure that the SDIO_CK frequency doesn't exceed 400KHz. 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This phase of initialization is done through SDIO_Init() and 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_PowerState_ON() SDIO low level APIs. 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (#) Initialize the SD card. The API used is HAL_SD_InitCard(). 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This phase allows the card initialization and identification 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and check the SD Card type (Standard Capacity or High Capacity) 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** The initialization flow is compatible with SD standard. 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This API (HAL_SD_InitCard()) could be used also to reinitialize the card in case 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** of plug-off plug-in. 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (#) Configure the SD Card Data transfer frequency. You can change or adapt this 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** frequency by adjusting the "ClockDiv" field. 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** In transfer mode and according to the SD Card standard, make sure that the 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_CK frequency doesn't exceed 25MHz and 50MHz in High-speed mode switch. 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** To be able to use a frequency higher than 24MHz, you should use the SDIO 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** peripheral in bypass mode. Refer to the corresponding reference manual 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** for more details. 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (#) Select the corresponding SD Card according to the address read with the step 2. 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (#) Configure the SD Card in wide bus mode: 4-bits data. 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** SD Card Read operation *** 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================== 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) You can read from SD card in polling mode by using function HAL_SD_ReadBlocks(). 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** chosen as 512 bytes). 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter. 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state. 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) You can read from SD card in DMA mode by using function HAL_SD_ReadBlocks_DMA(). 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** chosen as 512 bytes). 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter. 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state. 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You could also check the DMA transfer process through the SD Rx interrupt event. 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) You can read from SD card in Interrupt mode by using function HAL_SD_ReadBlocks_IT(). 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** chosen as 512 bytes). ARM GAS /tmp/ccJhhmLc.s page 57 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter. 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state. 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You could also check the IT transfer process through the SD Rx interrupt event. 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** SD Card Write operation *** 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** =============================== 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) You can write to SD card in polling mode by using function HAL_SD_WriteBlocks(). 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** chosen as 512 bytes). 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter. 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state. 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) You can write to SD card in DMA mode by using function HAL_SD_WriteBlocks_DMA(). 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** chosen as 512 bytes). 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter. 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state. 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You could also check the DMA transfer process through the SD Tx interrupt event. 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) You can write to SD card in Interrupt mode by using function HAL_SD_WriteBlocks_IT(). 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function support only 512-bytes block length (the block size should be 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** chosen as 512 bytes). 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You can choose either one block read operation or multiple block read operation 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** by adjusting the "NumberOfBlocks" parameter. 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** After this, you have to ensure that the transfer is done correctly. The check is done 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** through HAL_SD_GetCardState() function for SD card state. 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** You could also check the IT transfer process through the SD Tx interrupt event. 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** SD card status *** 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ====================== 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) The SD Status contains status bits that are related to the SD Memory 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Card proprietary features. To get SD card status use the HAL_SD_GetCardStatus(). 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** SD card information *** 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** =========================== 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) To get SD card information, you can use the function HAL_SD_GetCardInfo(). 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** It returns useful information about the SD card such as block size, card type, 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** block number ... 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** SD card CSD register *** 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================ 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) The HAL_SD_GetCardCSD() API allows to get the parameters of the CSD register. 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Some of the CSD parameters are useful for card initialization and identification. 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** SD card CID register *** 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================ 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) The HAL_SD_GetCardCID() API allows to get the parameters of the CID register. 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Some of the CSD parameters are useful for card initialization and identification. ARM GAS /tmp/ccJhhmLc.s page 58 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** SD HAL driver macros list *** 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ================================== 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Below the list of most used macros in SD HAL driver. 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) __HAL_SD_ENABLE : Enable the SD device 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) __HAL_SD_DISABLE : Disable the SD device 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) __HAL_SD_DMA_ENABLE: Enable the SDIO DMA transfer 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) __HAL_SD_DMA_DISABLE: Disable the SDIO DMA transfer 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) __HAL_SD_ENABLE_IT: Enable the SD device interrupt 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) __HAL_SD_DISABLE_IT: Disable the SD device interrupt 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) __HAL_SD_GET_FLAG:Check whether the specified SD flag is set or not 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) __HAL_SD_CLEAR_FLAG: Clear the SD's pending flags 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (@) You can refer to the SD HAL driver header file for more useful macros 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *** Callback registration *** 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================= 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** The compilation define USE_HAL_SD_REGISTER_CALLBACKS when set to 1 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** allows the user to configure dynamically the driver callbacks. 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Use Functions HAL_SD_RegisterCallback() to register a user callback, 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** it allows to register following callbacks: 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) TxCpltCallback : callback when a transmission transfer is completed. 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) RxCpltCallback : callback when a reception transfer is completed. 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) ErrorCallback : callback when error occurs. 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) AbortCpltCallback : callback when abort is completed. 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) MspInitCallback : SD MspInit. 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) MspDeInitCallback : SD MspDeInit. 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and a pointer to the user callback function. 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Use function HAL_SD_UnRegisterCallback() to reset a callback to the default 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** weak (surcharged) function. It allows to reset following callbacks: 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) TxCpltCallback : callback when a transmission transfer is completed. 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) RxCpltCallback : callback when a reception transfer is completed. 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) ErrorCallback : callback when error occurs. 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) AbortCpltCallback : callback when abort is completed. 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) MspInitCallback : SD MspInit. 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (+) MspDeInitCallback : SD MspDeInit. 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This function) takes as parameters the HAL peripheral handle and the Callback ID. 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** By default, after the HAL_SD_Init and if the state is HAL_SD_STATE_RESET 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** all callbacks are reset to the corresponding legacy weak (surcharged) functions. 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Exception done for MspInit and MspDeInit callbacks that are respectively 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** reset to the legacy weak (surcharged) functions in the HAL_SD_Init 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and HAL_SD_DeInit only when these callbacks are null (not registered beforehand). 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** If not, MspInit or MspDeInit are not null, the HAL_SD_Init and HAL_SD_DeInit 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Callbacks can be registered/unregistered in READY state only. 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Exception done for MspInit/MspDeInit callbacks that can be registered/unregistered 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** in READY or RESET state, thus registered (user) MspInit/DeInit callbacks can be used 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** during the Init/DeInit. 235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** In that case first register the MspInit/MspDeInit user callbacks ARM GAS /tmp/ccJhhmLc.s page 59 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** using HAL_SD_RegisterCallback before calling HAL_SD_DeInit 237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** or HAL_SD_Init function. 238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** When The compilation define USE_HAL_SD_REGISTER_CALLBACKS is set to 0 or 240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** not defined, the callback registering feature is not available 241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** and weak (surcharged) callbacks are used. 242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** @endverbatim 244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ****************************************************************************** 245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @attention 246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *

© Copyright (c) 2017 STMicroelectronics. 248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * All rights reserved.

249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * 250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * This software component is licensed by ST under BSD 3-Clause license, 251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * the "License"; You may not use this file except in compliance with the 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * License. You may obtain a copy of the License at: 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * opensource.org/licenses/BSD-3-Clause 254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ****************************************************************************** 256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Includes ------------------------------------------------------------------*/ 259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #include "stm32f4xx_hal.h" 260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO) 262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @addtogroup STM32F4xx_HAL_Driver 264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @addtogroup SD 268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #ifdef HAL_SD_MODULE_ENABLED 272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Private typedef -----------------------------------------------------------*/ 274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Private define ------------------------------------------------------------*/ 275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @addtogroup SD_Private_Defines 276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @} 281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Private macro -------------------------------------------------------------*/ 284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Private variables ---------------------------------------------------------*/ 285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Private function prototypes -----------------------------------------------*/ 286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Private functions ---------------------------------------------------------*/ 287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @defgroup SD_Private_Functions SD Private Functions 288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_InitCard(SD_HandleTypeDef *hsd); 291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_PowerON(SD_HandleTypeDef *hsd); 292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_SendSDStatus(SD_HandleTypeDef *hsd, uint32_t *pSDstatus); ARM GAS /tmp/ccJhhmLc.s page 60 293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_SendStatus(SD_HandleTypeDef *hsd, uint32_t *pCardStatus); 294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_WideBus_Enable(SD_HandleTypeDef *hsd); 295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_WideBus_Disable(SD_HandleTypeDef *hsd); 296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR); 297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_PowerOFF(SD_HandleTypeDef *hsd); 298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_Write_IT(SD_HandleTypeDef *hsd); 299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_Read_IT(SD_HandleTypeDef *hsd); 300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMATransmitCplt(DMA_HandleTypeDef *hdma); 301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma); 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMAError(DMA_HandleTypeDef *hdma); 303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMATxAbort(DMA_HandleTypeDef *hdma); 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMARxAbort(DMA_HandleTypeDef *hdma); 305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @} 307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Exported functions --------------------------------------------------------*/ 310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @addtogroup SD_Exported_Functions 311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @addtogroup SD_Exported_Functions_Group1 315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Initialization and de-initialization functions 316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * 317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** @verbatim 318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================================================== 319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ##### Initialization and de-initialization functions ##### 320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================================================== 321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This section provides functions allowing to initialize/de-initialize the SD 323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** card device to be ready for use. 324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** @endverbatim 326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Initializes the SD according to the specified parameters in the 331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_HandleTypeDef and create the associated handle. 332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to the SD handle 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_Init(SD_HandleTypeDef *hsd) 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check the SD handle allocation */ 338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd == NULL) 339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check the parameters */ 344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_ALL_INSTANCE(hsd->Instance)); 345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_CLOCK_EDGE(hsd->Init.ClockEdge)); 346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_CLOCK_BYPASS(hsd->Init.ClockBypass)); 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_CLOCK_POWER_SAVE(hsd->Init.ClockPowerSave)); 348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_BUS_WIDE(hsd->Init.BusWide)); 349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_HARDWARE_FLOW_CONTROL(hsd->Init.HardwareFlowControl)); ARM GAS /tmp/ccJhhmLc.s page 61 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_CLKDIV(hsd->Init.ClockDiv)); 351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_RESET) 353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Allocate lock resource and initialize it */ 355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Lock = HAL_UNLOCKED; 356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Reset Callback pointers in HAL_SD_STATE_RESET only */ 358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->TxCpltCallback = HAL_SD_TxCpltCallback; 359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->RxCpltCallback = HAL_SD_RxCpltCallback; 360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback = HAL_SD_ErrorCallback; 361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->AbortCpltCallback = HAL_SD_AbortCallback; 362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->MspInitCallback == NULL) 364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspInitCallback = HAL_SD_MspInit; 366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Init the low level hardware */ 369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspInitCallback(hsd); 370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_MspInit(hsd); 373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize the Card parameters */ 379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if (HAL_SD_InitCard(hsd) != HAL_OK) 380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize the error code */ 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize the SD operation */ 388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize the SD state */ 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Initializes the SD Card. 398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note This function initializes the SD card. It could be used when a card 400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** re-initialization is needed. 401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_InitCard(SD_HandleTypeDef *hsd) 404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef status; ARM GAS /tmp/ccJhhmLc.s page 62 407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_InitTypeDef Init; 408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Default SDIO peripheral configuration for SD card initialization */ 410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.ClockEdge = SDIO_CLOCK_EDGE_RISING; 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE; 412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE; 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.BusWide = SDIO_BUS_WIDE_1B; 414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_DISABLE; 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.ClockDiv = SDIO_INIT_CLK_DIV; 416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize SDIO peripheral interface with default configuration */ 418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = SDIO_Init(hsd->Instance, Init); 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(status != HAL_OK) 420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable SDIO Clock */ 425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE(hsd); 426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set Power State to ON */ 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_PowerState_ON(hsd->Instance); 429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Enable SDIO Clock */ 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE(hsd); 432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Identify card operating voltage */ 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SD_PowerON(hsd); 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Card initialization */ 443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SD_InitCard(hsd); 444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set Block Size for Card */ 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 63 464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief De-Initializes the SD card. 467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_DeInit(SD_HandleTypeDef *hsd) 471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check the SD handle allocation */ 473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd == NULL) 474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check the parameters */ 479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_ALL_INSTANCE(hsd->Instance)); 480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set SD power state to off */ 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_PowerOFF(hsd); 485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->MspDeInitCallback == NULL) 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspDeInitCallback = HAL_SD_MspDeInit; 490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* DeInit the low level hardware */ 493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspDeInitCallback(hsd); 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* De-Initialize the MSP layer */ 496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_MspDeInit(hsd); 497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_RESET; 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Initializes the SD MSP. 508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __weak void HAL_SD_MspInit(SD_HandleTypeDef *hsd) 512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** UNUSED(hsd); 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed, 517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** the HAL_SD_MspInit could be implemented in the user file 518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ARM GAS /tmp/ccJhhmLc.s page 64 521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief De-Initialize SD MSP. 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __weak void HAL_SD_MspDeInit(SD_HandleTypeDef *hsd) 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** UNUSED(hsd); 530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed, 532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** the HAL_SD_MspDeInit could be implemented in the user file 533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @} 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @addtogroup SD_Exported_Functions_Group2 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Data transfer functions 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * 543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** @verbatim 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================================================== 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ##### IO operation functions ##### 546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================================================== 547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This subsection provides a set of functions allowing to manage the data 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** transfer from/to SD card. 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** @endverbatim 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Reads block(s) from a specified address in a card. The Data transfer 557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * is managed by polling mode. 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note This API should be followed by a check on the card state through 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * HAL_SD_GetCardState(). 560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pData: pointer to the buffer that will contain the received data 562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param BlockAdd: Block Address from where data is to be read 563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param NumberOfBlocks: Number of SD blocks to read 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param Timeout: Specify timeout value 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_ReadBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint3 568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_DataInitTypeDef config; 570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick(); 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t count, data, dataremaining; 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t add = BlockAdd; 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint8_t *tempbuff = pData; 575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NULL == pData) 577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { ARM GAS /tmp/ccJhhmLc.s page 65 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize data control register */ 595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL = 0U; 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** add *= 512U; 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */ 603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT; 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE; 605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataBlockSize = SDIO_DATABLOCK_SIZE_512B; 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferDir = SDIO_TRANSFER_DIR_TO_SDIO; 607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferMode = SDIO_TRANSFER_MODE_BLOCK; 608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DPSM = SDIO_DPSM_ENABLE; 609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_ConfigData(hsd->Instance, &config); 610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read block(s) in polling mode */ 612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NumberOfBlocks > 1U) 613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_READ_MULTIPLE_BLOCK; 615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read Multi Block command */ 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); 618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_READ_SINGLE_BLOCK; 622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read Single Block command */ 624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); 625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 66 635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Poll on SDIO flags */ 637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining = config.DataLength; 638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDI 640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDI 642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXFIFOHF) && (dataremaining > 0U)) 645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read data from SDIO Rx FIFO */ 647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** for(count = 0U; count < 8U; count++) 648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data = SDIO_ReadFIFO(hsd->Instance); 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU); 651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 8U) & 0xFFU); 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 16U) & 0xFFU); 657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 24U) & 0xFFU); 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U)) 666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT; 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY; 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_TIMEOUT; 673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send stop transmission command in case of multiblock read */ 677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DATAEND) && (NumberOfBlocks > 1U)) 678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED) 680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send stop transmission command */ 682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 67 692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get error state */ 696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DTIMEOUT)) 697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DCRCFAIL)) 706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR)) 715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; 719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Nothing to do */ 726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Empty FIFO if there is still any data */ 729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while ((__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXDAVL)) && (dataremaining > 0U)) 730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data = SDIO_ReadFIFO(hsd->Instance); 732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tempbuff = (uint8_t)(data & 0xFFU); 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 8U) & 0xFFU); 736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 16U) & 0xFFU); 739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tempbuff = (uint8_t)((data >> 24U) & 0xFFU); 742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U)) 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); ARM GAS /tmp/ccJhhmLc.s page 68 749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TIMEOUT; 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY; 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_BUSY; 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Allows to write block(s) to a specified address in a card. The Data 772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * transfer is managed by polling mode. 773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note This API should be followed by a check on the card state through 774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * HAL_SD_GetCardState(). 775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pData: pointer to the buffer that will contain the data to transmit 777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param BlockAdd: Block Address where data will be written 778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param NumberOfBlocks: Number of SD blocks to write 779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param Timeout: Specify timeout value 780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_WriteBlocks(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint 783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_DataInitTypeDef config; 785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick(); 787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t count, data, dataremaining; 788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t add = BlockAdd; 789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint8_t *tempbuff = pData; 790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NULL == pData) 792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) 798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 69 806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize data control register */ 810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL = 0U; 811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** add *= 512U; 815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */ 818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT; 819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataLength = NumberOfBlocks * BLOCKSIZE; 820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataBlockSize = SDIO_DATABLOCK_SIZE_512B; 821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferDir = SDIO_TRANSFER_DIR_TO_CARD; 822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferMode = SDIO_TRANSFER_MODE_BLOCK; 823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DPSM = SDIO_DPSM_ENABLE; 824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_ConfigData(hsd->Instance, &config); 825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Blocks in Polling mode */ 827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NumberOfBlocks > 1U) 828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_WRITE_MULTIPLE_BLOCK; 830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Multi Block command */ 832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); 833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_WRITE_SINGLE_BLOCK; 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Single Block command */ 839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); 840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write block(s) in polling mode */ 852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining = config.DataLength; 853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_TXUNDERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SD 855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_TXUNDERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SD 857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_TXFIFOHE) && (dataremaining > 0U)) 860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write data to SDIO Tx FIFO */ 862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** for(count = 0U; count < 8U; count++) ARM GAS /tmp/ccJhhmLc.s page 70 863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data = (uint32_t)(*tempbuff); 865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 8U); 868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 16U); 871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data |= ((uint32_t)(*tempbuff) << 24U); 874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tempbuff++; 875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_WriteFIFO(hsd->Instance, &data); 877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((HAL_GetTick()-tickstart) >= Timeout) || (Timeout == 0U)) 881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_TIMEOUT; 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send stop transmission command in case of multiblock write */ 892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DATAEND) && (NumberOfBlocks > 1U)) 893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED) 895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send stop transmission command */ 897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get error state */ 911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DTIMEOUT)) 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 71 920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DCRCFAIL)) 921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_TXUNDERR)) 930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; 934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Nothing to do */ 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_BUSY; 953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Reads block(s) from a specified address in a card. The Data transfer 959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * is managed in interrupt mode. 960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note This API should be followed by a check on the card state through 961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * HAL_SD_GetCardState(). 962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note You could also check the IT transfer process through the SD Rx 963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * interrupt event. 964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pData: Pointer to the buffer that will contain the received data 966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param BlockAdd: Block Address from where data is to be read 967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param NumberOfBlocks: Number of blocks to read. 968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_ReadBlocks_IT(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, ui 971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_DataInitTypeDef config; 973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t add = BlockAdd; 975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NULL == pData) ARM GAS /tmp/ccJhhmLc.s page 72 977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) 983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize data control register */ 995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL = 0U; 996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->pRxBuffPtr = pData; 998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->RxXferSize = BLOCKSIZE * NumberOfBlocks; 999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_RXOVERR | SDIO_IT_DATAEN 1002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_RXOVERR | SDIO_IT_DATAEN 1004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 1007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** add *= 512U; 1009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */ 1012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT; 1013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 1014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataBlockSize = SDIO_DATABLOCK_SIZE_512B; 1015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferDir = SDIO_TRANSFER_DIR_TO_SDIO; 1016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferMode = SDIO_TRANSFER_MODE_BLOCK; 1017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DPSM = SDIO_DPSM_ENABLE; 1018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_ConfigData(hsd->Instance, &config); 1019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read Blocks in IT mode */ 1021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NumberOfBlocks > 1U) 1022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_IT); 1024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read Multi Block command */ 1026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); 1027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_IT); 1031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read Single Block command */ 1033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); ARM GAS /tmp/ccJhhmLc.s page 73 1034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 1046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_BUSY; 1050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Writes block(s) to a specified address in a card. The Data transfer 1055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * is managed in interrupt mode. 1056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note This API should be followed by a check on the card state through 1057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * HAL_SD_GetCardState(). 1058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note You could also check the IT transfer process through the SD Tx 1059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * interrupt event. 1060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 1061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pData: Pointer to the buffer that will contain the data to transmit 1062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param BlockAdd: Block Address where data will be written 1063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param NumberOfBlocks: Number of blocks to write 1064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_WriteBlocks_IT(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, u 1067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_DataInitTypeDef config; 1069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 1070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t add = BlockAdd; 1071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NULL == pData) 1073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) 1079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 1081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 1083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 1085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 1089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize data control register */ ARM GAS /tmp/ccJhhmLc.s page 74 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL = 0U; 1092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->pTxBuffPtr = pData; 1094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->TxXferSize = BLOCKSIZE * NumberOfBlocks; 1095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Enable transfer interrupts */ 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_TXUNDERR | SDIO_IT_DATAE 1099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_TXUNDERR | SDIO_IT_DATAE 1101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 1104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** add *= 512U; 1106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Blocks in Polling mode */ 1109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NumberOfBlocks > 1U) 1110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK| SD_CONTEXT_IT); 1112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Multi Block command */ 1114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); 1115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_IT); 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Single Block command */ 1121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); 1122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */ 1134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT; 1135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 1136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataBlockSize = SDIO_DATABLOCK_SIZE_512B; 1137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferDir = SDIO_TRANSFER_DIR_TO_CARD; 1138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferMode = SDIO_TRANSFER_MODE_BLOCK; 1139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DPSM = SDIO_DPSM_ENABLE; 1140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_ConfigData(hsd->Instance, &config); 1141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 1143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_BUSY; 1147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 75 1148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Reads block(s) from a specified address in a card. The Data transfer 1152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * is managed by DMA mode. 1153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note This API should be followed by a check on the card state through 1154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * HAL_SD_GetCardState(). 1155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note You could also check the DMA transfer process through the SD Rx 1156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * interrupt event. 1157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer SD handle 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pData: Pointer to the buffer that will contain the received data 1159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param BlockAdd: Block Address from where data is to be read 1160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param NumberOfBlocks: Number of blocks to read. 1161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 1162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_ReadBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, u 1164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_DataInitTypeDef config; 1166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t add = BlockAdd; 1168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NULL == pData) 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 1172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) 1176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 1178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 1180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 1182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 1186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize data control register */ 1188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL = 0U; 1189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_RXOVERR | SDIO_IT_DATAEN 1192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_RXOVERR | SDIO_IT_DATAEN 1194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the DMA transfer complete callback */ 1197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmarx->XferCpltCallback = SD_DMAReceiveCplt; 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the DMA error callback */ 1200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmarx->XferErrorCallback = SD_DMAError; 1201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the DMA Abort callback */ 1203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmarx->XferAbortCallback = NULL; 1204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ARM GAS /tmp/ccJhhmLc.s page 76 1205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Force DMA Direction */ 1206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmarx->Init.Direction = DMA_PERIPH_TO_MEMORY; 1207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction); 1208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Enable the DMA Channel */ 1210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_Start_IT(hsd->hdmarx, (uint32_t)&hsd->Instance->FIFO, (uint32_t)pData, (uint32_t)(BL 1211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_RXOVERR | SDIO_IT_DAT 1213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 1215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Enable SD DMA transfer */ 1221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DMA_ENABLE(hsd); 1222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 1224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** add *= 512U; 1226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */ 1229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT; 1230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataBlockSize = SDIO_DATABLOCK_SIZE_512B; 1232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferDir = SDIO_TRANSFER_DIR_TO_SDIO; 1233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferMode = SDIO_TRANSFER_MODE_BLOCK; 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DPSM = SDIO_DPSM_ENABLE; 1235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_ConfigData(hsd->Instance, &config); 1236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read Blocks in DMA mode */ 1238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NumberOfBlocks > 1U) 1239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 1241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read Multi Block command */ 1243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); 1244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_DMA); 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read Single Block command */ 1250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); 1251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ARM GAS /tmp/ccJhhmLc.s page 77 1262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 1263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_BUSY; 1268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Writes block(s) to a specified address in a card. The Data transfer 1273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * is managed by DMA mode. 1274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note This API should be followed by a check on the card state through 1275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * HAL_SD_GetCardState(). 1276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note You could also check the DMA transfer process through the SD Tx 1277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * interrupt event. 1278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 1279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pData: Pointer to the buffer that will contain the data to transmit 1280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param BlockAdd: Block Address where data will be written 1281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param NumberOfBlocks: Number of blocks to write 1282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 1283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_WriteBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, 1285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_DataInitTypeDef config; 1287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 1288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t add = BlockAdd; 1289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NULL == pData) 1291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 1293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) 1297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 1299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 1301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 1303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 1307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize data control register */ 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL = 0U; 1310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Enable SD Error interrupts */ 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_TXUNDERR | SDIO_IT_STBIT 1314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_TXUNDERR)); 1316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the DMA transfer complete callback */ ARM GAS /tmp/ccJhhmLc.s page 78 1319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmatx->XferCpltCallback = SD_DMATransmitCplt; 1320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the DMA error callback */ 1322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmatx->XferErrorCallback = SD_DMAError; 1323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the DMA Abort callback */ 1325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmatx->XferAbortCallback = NULL; 1326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 1328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** add *= 512U; 1330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Blocks in Polling mode */ 1333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(NumberOfBlocks > 1U) 1334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 1336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Multi Block command */ 1338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); 1339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_DMA); 1343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write Single Block command */ 1345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); 1346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Enable SDIO DMA transfer */ 1358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DMA_ENABLE(hsd); 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Force DMA Direction */ 1361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmatx->Init.Direction = DMA_MEMORY_TO_PERIPH; 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction); 1363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Enable the DMA Channel */ 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_Start_IT(hsd->hdmatx, (uint32_t)pData, (uint32_t)&hsd->Instance->FIFO, (uint32_t)(BL 1366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_TXUNDERR | SDIO_IT_ST 1369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, (SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT | SDIO_IT_TXUNDERR)); 1371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 1374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; ARM GAS /tmp/ccJhhmLc.s page 79 1376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */ 1381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT; 1382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataLength = BLOCKSIZE * NumberOfBlocks; 1383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataBlockSize = SDIO_DATABLOCK_SIZE_512B; 1384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferDir = SDIO_TRANSFER_DIR_TO_CARD; 1385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferMode = SDIO_TRANSFER_MODE_BLOCK; 1386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DPSM = SDIO_DPSM_ENABLE; 1387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_ConfigData(hsd->Instance, &config); 1388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 1390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_BUSY; 1395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Erases the specified memory area of the given SD card. 1400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @note This API should be followed by a check on the card state through 1401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * HAL_SD_GetCardState(). 1402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 1403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param BlockStartAdd: Start Block address 1404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param BlockEndAdd: End Block address 1405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 1406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_Erase(SD_HandleTypeDef *hsd, uint32_t BlockStartAdd, uint32_t BlockEndAdd) 1408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 1410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t start_add = BlockStartAdd; 1411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t end_add = BlockEndAdd; 1412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) 1414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 1416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(end_add < start_add) 1418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 1420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(end_add > (hsd->SdCard.LogBlockNbr)) 1424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 1426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 1430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check if the card command class supports erase command */ 1432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((hsd->SdCard.Class) & SDIO_CCCC_ERASE) == 0U) ARM GAS /tmp/ccJhhmLc.s page 80 1433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 1437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((SDIO_GetResponse(hsd->Instance, SDIO_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 1442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 1446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get start and end block for high capacity cards */ 1451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 1452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** start_add *= 512U; 1454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** end_add *= 512U; 1455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* According to sd-card spec 1.0 ERASE_GROUP_START (CMD32) and erase_group_end(CMD33) */ 1458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED) 1459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD32 SD_ERASE_GRP_START with argument as addr */ 1461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdSDEraseStartAdd(hsd->Instance, start_add); 1462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD33 SD_ERASE_GRP_END with argument as addr */ 1472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdSDEraseEndAdd(hsd->Instance, end_add); 1473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD38 ERASE */ 1484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdErase(hsd->Instance); 1485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 1489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; ARM GAS /tmp/ccJhhmLc.s page 81 1490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 1497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_BUSY; 1501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief This function handles SD card interrupt request. 1506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 1507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 1508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd) 1510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 1512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t context = hsd->Context; 1513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check for SDIO interrupt flags */ 1515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXFIFOHF) != RESET) && ((context & SD_CONTEXT_IT) != 0U)) 1516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_Read_IT(hsd); 1518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DATAEND) != RESET) 1521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_FLAG_DATAEND); 1523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDIO_IT_DATAEND | SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT|\ 1526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR | SDIO_IT_RXOVERR | SDIO_IT_TXFIFOHE |\ 1527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_RXFIFOHF | SDIO_IT_STBITERR); 1528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDIO_IT_DATAEND | SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT|\ 1530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR | SDIO_IT_RXOVERR | SDIO_IT_TXFIFOHE |\ 1531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_RXFIFOHF); 1532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL &= ~(SDIO_DCTRL_DTEN); 1535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((context & SD_CONTEXT_IT) != 0U) 1537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPL 1539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 1541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback(hsd); 1546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else ARM GAS /tmp/ccJhhmLc.s page 82 1547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd); 1548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 1553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 1554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_B 1558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->RxCpltCallback(hsd); 1561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 1562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_RxCpltCallback(hsd); 1563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->TxCpltCallback(hsd); 1569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 1570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_TxCpltCallback(hsd); 1571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if((context & SD_CONTEXT_DMA) != 0U) 1575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) 1577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 1579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 1582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback(hsd); 1584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 1585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd); 1586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) == 0U) && ((context & SD_CONTEXT_READ_MULTIPLE_B 1590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable the DMA transfer for transmit request by setting the DMAEN bit 1592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** in the SD DCTRL register */ 1593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDIO_DCTRL_DMAEN); 1594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->TxCpltCallback(hsd); 1599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 1600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_TxCpltCallback(hsd); 1601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 83 1604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Nothing to do */ 1607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if((__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_TXFIFOHE) != RESET) && ((context & SD_CONTEXT_IT) != 0U 1611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_Write_IT(hsd); 1613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_RXOVERR | SDIO 1617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_RXOVERR | SDIO 1619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set Error code */ 1622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DCRCFAIL) != RESET) 1623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 1625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DTIMEOUT) != RESET) 1627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 1629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR) != RESET) 1631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; 1633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_TXUNDERR) != RESET) 1635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; 1637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_STBITERR) != RESET) 1640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 1642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined(SDIO_STA_STBITERR) 1646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear All flags */ 1647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS | SDIO_FLAG_STBITERR); 1648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable all interrupts */ 1650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDIO_IT_DATAEND | SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT|\ 1651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR| SDIO_IT_RXOVERR | SDIO_IT_STBITERR); 1652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear All flags */ 1654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 1655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable all interrupts */ 1657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDIO_IT_DATAEND | SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT|\ 1658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR| SDIO_IT_RXOVERR); 1659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* SDIO_STA_STBITERR */ 1660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ARM GAS /tmp/ccJhhmLc.s page 84 1661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 1662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((context & SD_CONTEXT_IT) != 0U) 1664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the SD state to ready to be able to start again the process */ 1666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback(hsd); 1670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 1671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd); 1672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if((context & SD_CONTEXT_DMA) != 0U) 1675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort the SD DMA channel */ 1677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE 1678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the DMA Tx abort callback */ 1680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmatx->XferAbortCallback = SD_DMATxAbort; 1681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort DMA in IT mode */ 1682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 1683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_DMATxAbort(hsd->hdmatx); 1685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTI 1688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set the DMA Rx abort callback */ 1690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmarx->XferAbortCallback = SD_DMARxAbort; 1691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort DMA in IT mode */ 1692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 1693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_DMARxAbort(hsd->hdmarx); 1695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = HAL_SD_ERROR_NONE; 1700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->AbortCpltCallback(hsd); 1704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 1705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_AbortCallback(hsd); 1706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Nothing to do */ 1712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Nothing to do */ 1717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 85 1718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief return the SD state 1722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to sd handle 1723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL state 1724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_StateTypeDef HAL_SD_GetState(SD_HandleTypeDef *hsd) 1726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return hsd->State; 1728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Return the SD error code 1732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd : Pointer to a SD_HandleTypeDef structure that contains 1733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * the configuration information. 1734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval SD Error Code 1735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t HAL_SD_GetError(SD_HandleTypeDef *hsd) 1737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return hsd->ErrorCode; 1739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Tx Transfer completed callbacks 1743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 1744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 1745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __weak void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd) 1747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 1749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** UNUSED(hsd); 1750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** the HAL_SD_TxCpltCallback can be implemented in the user file 1753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Rx Transfer completed callbacks 1758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer SD handle 1759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 1760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __weak void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd) 1762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 1764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** UNUSED(hsd); 1765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** the HAL_SD_RxCpltCallback can be implemented in the user file 1768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief SD error callbacks 1773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer SD handle 1774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None ARM GAS /tmp/ccJhhmLc.s page 86 1775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __weak void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd) 1777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 1779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** UNUSED(hsd); 1780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** the HAL_SD_ErrorCallback can be implemented in the user file 1783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief SD Abort callbacks 1788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer SD handle 1789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 1790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __weak void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd) 1792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Prevent unused argument(s) compilation warning */ 1794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** UNUSED(hsd); 1795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** the HAL_SD_AbortCallback can be implemented in the user file 1798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Register a User SD Callback 1804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * To be used instead of the weak (surcharged) predefined callback 1805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd : SD handle 1806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param CallbackID : ID of the callback to be registered 1807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * This parameter can be one of the following values: 1808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_TX_CPLT_CB_ID SD Tx Complete Callback ID 1809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_RX_CPLT_CB_ID SD Rx Complete Callback ID 1810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_ERROR_CB_ID SD Error Callback ID 1811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_ABORT_CB_ID SD Abort Callback ID 1812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_MSP_INIT_CB_ID SD MspInit Callback ID 1813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_MSP_DEINIT_CB_ID SD MspDeInit Callback ID 1814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pCallback : pointer to the Callback function 1815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval status 1816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_RegisterCallback(SD_HandleTypeDef *hsd, HAL_SD_CallbackIDTypeDef CallbackI 1818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK; 1820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(pCallback == NULL) 1822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Update the error code */ 1824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK; 1825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 1826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Process locked */ 1829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_LOCK(hsd); 1830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) ARM GAS /tmp/ccJhhmLc.s page 87 1832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** switch (CallbackID) 1834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_TX_CPLT_CB_ID : 1836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->TxCpltCallback = pCallback; 1837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_RX_CPLT_CB_ID : 1839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->RxCpltCallback = pCallback; 1840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_ERROR_CB_ID : 1842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback = pCallback; 1843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_ABORT_CB_ID : 1845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->AbortCpltCallback = pCallback; 1846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_MSP_INIT_CB_ID : 1848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspInitCallback = pCallback; 1849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_MSP_DEINIT_CB_ID : 1851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspDeInitCallback = pCallback; 1852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** default : 1854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Update the error code */ 1855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK; 1856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* update return status */ 1857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 1858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if (hsd->State == HAL_SD_STATE_RESET) 1862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** switch (CallbackID) 1864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_MSP_INIT_CB_ID : 1866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspInitCallback = pCallback; 1867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_MSP_DEINIT_CB_ID : 1869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspDeInitCallback = pCallback; 1870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** default : 1872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Update the error code */ 1873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK; 1874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* update return status */ 1875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 1876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Update the error code */ 1882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK; 1883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* update return status */ 1884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 1885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Release Lock */ 1888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_UNLOCK(hsd); ARM GAS /tmp/ccJhhmLc.s page 88 1889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return status; 1890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Unregister a User SD Callback 1894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * SD Callback is redirected to the weak (surcharged) predefined callback 1895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd : SD handle 1896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param CallbackID : ID of the callback to be unregistered 1897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * This parameter can be one of the following values: 1898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_TX_CPLT_CB_ID SD Tx Complete Callback ID 1899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_RX_CPLT_CB_ID SD Rx Complete Callback ID 1900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_ERROR_CB_ID SD Error Callback ID 1901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_ABORT_CB_ID SD Abort Callback ID 1902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_MSP_INIT_CB_ID SD MspInit Callback ID 1903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg @ref HAL_SD_MSP_DEINIT_CB_ID SD MspDeInit Callback ID 1904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval status 1905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_UnRegisterCallback(SD_HandleTypeDef *hsd, HAL_SD_CallbackIDTypeDef Callbac 1907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK; 1909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Process locked */ 1911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_LOCK(hsd); 1912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->State == HAL_SD_STATE_READY) 1914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** switch (CallbackID) 1916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_TX_CPLT_CB_ID : 1918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->TxCpltCallback = HAL_SD_TxCpltCallback; 1919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_RX_CPLT_CB_ID : 1921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->RxCpltCallback = HAL_SD_RxCpltCallback; 1922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_ERROR_CB_ID : 1924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback = HAL_SD_ErrorCallback; 1925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_ABORT_CB_ID : 1927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->AbortCpltCallback = HAL_SD_AbortCallback; 1928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_MSP_INIT_CB_ID : 1930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspInitCallback = HAL_SD_MspInit; 1931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_MSP_DEINIT_CB_ID : 1933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspDeInitCallback = HAL_SD_MspDeInit; 1934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** default : 1936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Update the error code */ 1937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK; 1938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* update return status */ 1939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 1940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if (hsd->State == HAL_SD_STATE_RESET) 1944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** switch (CallbackID) ARM GAS /tmp/ccJhhmLc.s page 89 1946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_MSP_INIT_CB_ID : 1948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspInitCallback = HAL_SD_MspInit; 1949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** case HAL_SD_MSP_DEINIT_CB_ID : 1951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->MspDeInitCallback = HAL_SD_MspDeInit; 1952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** default : 1954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Update the error code */ 1955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK; 1956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* update return status */ 1957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 1958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 1959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 1962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Update the error code */ 1964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_INVALID_CALLBACK; 1965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* update return status */ 1966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 1967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Release Lock */ 1970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_UNLOCK(hsd); 1971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return status; 1972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 1974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @} 1977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @addtogroup SD_Exported_Functions_Group3 1980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief management functions 1981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * 1982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** @verbatim 1983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================================================== 1984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ##### Peripheral Control functions ##### 1985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ============================================================================== 1986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** [..] 1987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** This subsection provides a set of functions allowing to control the SD card 1988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** operations and get the related information 1989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** @endverbatim 1991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 1992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 1993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 1995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Returns information the information of the card which are stored on 1996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * the CID register. 1997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 1998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pCID: Pointer to a HAL_SD_CardCIDTypeDef structure that 1999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * contains all CID register parameters 2000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 2001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_GetCardCID(SD_HandleTypeDef *hsd, HAL_SD_CardCIDTypeDef *pCID) ARM GAS /tmp/ccJhhmLc.s page 90 2003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->ManufacturerID = (uint8_t)((hsd->CID[0] & 0xFF000000U) >> 24U); 2005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->OEM_AppliID = (uint16_t)((hsd->CID[0] & 0x00FFFF00U) >> 8U); 2007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->ProdName1 = (((hsd->CID[0] & 0x000000FFU) << 24U) | ((hsd->CID[1] & 0xFFFFFF00U) >> 8U)); 2009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->ProdName2 = (uint8_t)(hsd->CID[1] & 0x000000FFU); 2011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->ProdRev = (uint8_t)((hsd->CID[2] & 0xFF000000U) >> 24U); 2013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->ProdSN = (((hsd->CID[2] & 0x00FFFFFFU) << 8U) | ((hsd->CID[3] & 0xFF000000U) >> 24U)); 2015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->Reserved1 = (uint8_t)((hsd->CID[3] & 0x00F00000U) >> 20U); 2017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->ManufactDate = (uint16_t)((hsd->CID[3] & 0x000FFF00U) >> 8U); 2019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->CID_CRC = (uint8_t)((hsd->CID[3] & 0x000000FEU) >> 1U); 2021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCID->Reserved2 = 1U; 2023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 2025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Returns information the information of the card which are stored on 2029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * the CSD register. 2030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 2031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pCSD: Pointer to a HAL_SD_CardCSDTypeDef structure that 2032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * contains all CSD register parameters 2033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 2034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_GetCardCSD(SD_HandleTypeDef *hsd, HAL_SD_CardCSDTypeDef *pCSD) 2036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U); 2038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->SysSpecVersion = (uint8_t)((hsd->CSD[0] & 0x3C000000U) >> 26U); 2040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->Reserved1 = (uint8_t)((hsd->CSD[0] & 0x03000000U) >> 24U); 2042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->TAAC = (uint8_t)((hsd->CSD[0] & 0x00FF0000U) >> 16U); 2044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->NSAC = (uint8_t)((hsd->CSD[0] & 0x0000FF00U) >> 8U); 2046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->MaxBusClkFrec = (uint8_t)(hsd->CSD[0] & 0x000000FFU); 2048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->CardComdClasses = (uint16_t)((hsd->CSD[1] & 0xFFF00000U) >> 20U); 2050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->RdBlockLen = (uint8_t)((hsd->CSD[1] & 0x000F0000U) >> 16U); 2052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->PartBlockRead = (uint8_t)((hsd->CSD[1] & 0x00008000U) >> 15U); 2054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->WrBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00004000U) >> 14U); 2056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->RdBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00002000U) >> 13U); 2058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->DSRImpl = (uint8_t)((hsd->CSD[1] & 0x00001000U) >> 12U); ARM GAS /tmp/ccJhhmLc.s page 91 2060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->Reserved2 = 0U; /*!< Reserved */ 2062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType == CARD_SDSC) 2064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->DeviceSize = (((hsd->CSD[1] & 0x000003FFU) << 2U) | ((hsd->CSD[2] & 0xC0000000U) >> 30U)) 2066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->MaxRdCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x38000000U) >> 27U); 2068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->MaxRdCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x07000000U) >> 24U); 2070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->MaxWrCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x00E00000U) >> 21U); 2072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->MaxWrCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x001C0000U) >> 18U); 2074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->DeviceSizeMul = (uint8_t)((hsd->CSD[2] & 0x00038000U) >> 15U); 2076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.BlockNbr = (pCSD->DeviceSize + 1U) ; 2078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 2079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 2080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = (hsd->SdCard.BlockNbr) * ((hsd->SdCard.BlockSize) / 512U); 2082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.LogBlockSize = 512U; 2083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(hsd->SdCard.CardType == CARD_SDHC_SDXC) 2085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Byte 7 */ 2087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->DeviceSize = (((hsd->CSD[1] & 0x0000003FU) << 16U) | ((hsd->CSD[2] & 0xFFFF0000U) >> 16U) 2088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.BlockNbr = ((pCSD->DeviceSize + 1U) * 1024U); 2090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 2091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.BlockSize = 512U; 2092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize; 2093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 2097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 2098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 2099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 2101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->EraseGrSize = (uint8_t)((hsd->CSD[2] & 0x00004000U) >> 14U); 2104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->EraseGrMul = (uint8_t)((hsd->CSD[2] & 0x00003F80U) >> 7U); 2106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->WrProtectGrSize = (uint8_t)(hsd->CSD[2] & 0x0000007FU); 2108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->WrProtectGrEnable = (uint8_t)((hsd->CSD[3] & 0x80000000U) >> 31U); 2110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->ManDeflECC = (uint8_t)((hsd->CSD[3] & 0x60000000U) >> 29U); 2112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->WrSpeedFact = (uint8_t)((hsd->CSD[3] & 0x1C000000U) >> 26U); 2114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->MaxWrBlockLen= (uint8_t)((hsd->CSD[3] & 0x03C00000U) >> 22U); 2116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ARM GAS /tmp/ccJhhmLc.s page 92 2117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->WriteBlockPaPartial = (uint8_t)((hsd->CSD[3] & 0x00200000U) >> 21U); 2118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->Reserved3 = 0; 2120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->ContentProtectAppli = (uint8_t)((hsd->CSD[3] & 0x00010000U) >> 16U); 2122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->FileFormatGroup = (uint8_t)((hsd->CSD[3] & 0x00008000U) >> 15U); 2124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->CopyFlag = (uint8_t)((hsd->CSD[3] & 0x00004000U) >> 14U); 2126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->PermWrProtect = (uint8_t)((hsd->CSD[3] & 0x00002000U) >> 13U); 2128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->TempWrProtect = (uint8_t)((hsd->CSD[3] & 0x00001000U) >> 12U); 2130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->FileFormat = (uint8_t)((hsd->CSD[3] & 0x00000C00U) >> 10U); 2132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->ECC= (uint8_t)((hsd->CSD[3] & 0x00000300U) >> 8U); 2134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->CSD_CRC = (uint8_t)((hsd->CSD[3] & 0x000000FEU) >> 1U); 2136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCSD->Reserved4 = 1; 2138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 2140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Gets the SD status info. 2144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 2145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pStatus: Pointer to the HAL_SD_CardStatusTypeDef structure that 2146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * will contain the SD card status information 2147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 2148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_GetCardStatus(SD_HandleTypeDef *hsd, HAL_SD_CardStatusTypeDef *pStatus) 2150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t sd_status[16]; 2152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 2153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK; 2154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SD_SendSDStatus(hsd, sd_status); 2156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 2159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 2160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 2163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->DataBusWidth = (uint8_t)((sd_status[0] & 0xC0U) >> 6U); 2167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->SecuredMode = (uint8_t)((sd_status[0] & 0x20U) >> 5U); 2169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->CardType = (uint16_t)(((sd_status[0] & 0x00FF0000U) >> 8U) | ((sd_status[0] & 0xFF0000 2171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->ProtectedAreaSize = (((sd_status[1] & 0xFFU) << 24U) | ((sd_status[1] & 0xFF00U) << 2173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ((sd_status[1] & 0xFF0000U) >> 8U) | ((sd_status[1] & 0xFF000000U ARM GAS /tmp/ccJhhmLc.s page 93 2174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->SpeedClass = (uint8_t)(sd_status[2] & 0xFFU); 2176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->PerformanceMove = (uint8_t)((sd_status[2] & 0xFF00U) >> 8U); 2178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->AllocationUnitSize = (uint8_t)((sd_status[2] & 0xF00000U) >> 20U); 2180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->EraseSize = (uint16_t)(((sd_status[2] & 0xFF000000U) >> 16U) | (sd_status[3] & 0xFFU)) 2182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->EraseTimeout = (uint8_t)((sd_status[3] & 0xFC00U) >> 10U); 2184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pStatus->EraseOffset = (uint8_t)((sd_status[3] & 0x0300U) >> 8U); 2186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set Block Size for Card */ 2189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 2190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 2193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 2194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = errorstate; 2195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 2197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return status; 2200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Gets the SD card info. 2204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 2205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pCardInfo: Pointer to the HAL_SD_CardInfoTypeDef structure that 2206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * will contain the SD card status information 2207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 2208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_GetCardInfo(SD_HandleTypeDef *hsd, HAL_SD_CardInfoTypeDef *pCardInfo) 994 .loc 6 2209 19 view .LVU225 995 .LBB53: 996 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:2217: pCard 2210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType); 2212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); 2213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); 2214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); 2215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); 2216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); 2217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); 997 .loc 6 2217 51 is_stmt 0 view .LVU226 998 000e 094B ldr r3, .L95 @ tmp124, 999 0010 DB6D ldr r3, [r3, #92] @ _30, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockNbr 1000 .LVL45: 1001 .loc 6 2217 51 view .LVU227 1002 .LBE53: 1003 .LBE52: 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 1004 .loc 4 540 3 is_stmt 1 view .LVU228 1005 .L94: ARM GAS /tmp/ccJhhmLc.s page 94 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 1006 .loc 4 540 3 is_stmt 0 view .LVU229 1007 .LBE51: 1008 .LBE50: 1009 .LBB54: 1010 .LBB55: 1011 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:560: *block_size = sect 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1012 .loc 4 560 17 view .LVU230 1013 0012 1360 str r3, [r2] @ _45, MEM[(DWORD *)buff_7(D)] 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1014 .loc 4 562 3 is_stmt 1 view .LVU231 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1015 .loc 4 562 3 is_stmt 0 view .LVU232 1016 .LBE55: 1017 .LBE54: 571:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 572:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 573:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** case GET_SECTOR_SIZE : /* Get R/W sector size (WORD) */ 574:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_sector_size((DWORD*)buff); 575:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 576:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 577:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** case GET_BLOCK_SIZE : /* Get erase block size in unit of sector (DWORD) */ 578:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_block_size((DWORD*)buff); 579:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 1018 .loc 4 579 7 is_stmt 1 view .LVU233 1019 .L86: 1020 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:566: { 566:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 1021 .loc 4 566 1 is_stmt 0 view .LVU234 1022 0014 0020 movs r0, #0 @ , 1023 .LVL46: 1024 .L92: 580:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 581:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** case CTRL_SYNC: 582:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /* Complete pending write process */ 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (sdio_check_card_state_with_timeout(SD_TIMEOUT) < 0) { 584:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = RES_ERROR; 585:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 586:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 587:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 588:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** default: 589:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 590:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 591:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 592:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return res; 1025 .loc 4 592 3 is_stmt 1 view .LVU235 1026 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:593: } 593:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1027 .loc 4 593 1 is_stmt 0 view .LVU236 1028 0016 08BD pop {r3, pc} @ 1029 .LVL47: 1030 .L89: 573:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_sector_size((DWORD*)buff); 1031 .loc 4 573 5 is_stmt 1 view .LVU237 574:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 1032 .loc 4 574 7 view .LVU238 ARM GAS /tmp/ccJhhmLc.s page 95 1033 .LBB64: 1034 .LBI64: 544:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1035 .loc 4 544 16 view .LVU239 1036 .LBB65: 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(HAL_SD_GetCardInfo(&sdio, &cardInfo) != HAL_OK) { 1037 .loc 4 546 3 view .LVU240 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 1038 .loc 4 547 3 view .LVU241 1039 .LBB66: 1040 .LBI66: 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1041 .loc 6 2209 19 view .LVU242 1042 .LBB67: 1043 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:2218: pCard 2218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 1044 .loc 6 2218 51 is_stmt 0 view .LVU243 1045 0018 064B ldr r3, .L95 @ tmp125, 1046 001a 1B6E ldr r3, [r3, #96] @ _42, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockSize 1047 .LVL48: 1048 .loc 6 2218 51 view .LVU244 1049 .LBE67: 1050 .LBE66: 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 1051 .loc 4 551 3 is_stmt 1 view .LVU245 1052 001c F9E7 b .L94 @ 1053 .LVL49: 1054 .L87: 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 1055 .loc 4 551 3 is_stmt 0 view .LVU246 1056 .LBE65: 1057 .LBE64: 577:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = sdio_get_block_size((DWORD*)buff); 1058 .loc 4 577 5 is_stmt 1 view .LVU247 578:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** break; 1059 .loc 4 578 7 view .LVU248 1060 .LBB68: 1061 .LBI54: 555:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1062 .loc 4 555 16 view .LVU249 1063 .LBB63: 557:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = sdio_get_sector_size(§or_size); 1064 .loc 4 557 3 view .LVU250 558:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res == RES_OK) { 1065 .loc 4 558 3 view .LVU251 1066 .LBB56: 1067 .LBI56: 544:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1068 .loc 4 544 16 view .LVU252 1069 .LBB57: 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if(HAL_SD_GetCardInfo(&sdio, &cardInfo) != HAL_OK) { 1070 .loc 4 546 3 view .LVU253 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 1071 .loc 4 547 3 view .LVU254 1072 .LBB58: 1073 .LBI58: 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { ARM GAS /tmp/ccJhhmLc.s page 96 1074 .loc 6 2209 19 view .LVU255 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1075 .loc 6 2209 19 is_stmt 0 view .LVU256 1076 .LBE58: 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_OK; 1077 .loc 4 551 3 is_stmt 1 view .LVU257 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1078 .loc 4 552 3 view .LVU258 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1079 .loc 4 552 3 is_stmt 0 view .LVU259 1080 .LBE57: 1081 .LBE56: 559:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** *block_size = sector_size / BLOCK_SIZE; 1082 .loc 4 559 3 is_stmt 1 view .LVU260 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1083 .loc 4 560 5 view .LVU261 1084 .LBB62: 1085 .LBB61: 1086 .LBB60: 1087 .LBB59: 1088 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:2218: pCard 1089 .loc 6 2218 51 is_stmt 0 view .LVU262 1090 001e 054B ldr r3, .L95 @ tmp126, 1091 .LBE59: 1092 .LBE60: 1093 .LBE61: 1094 .LBE62: 1095 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:560: *block_size = sect 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1096 .loc 4 560 31 view .LVU263 1097 0020 1B6E ldr r3, [r3, #96] @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockSize, MEM[(struct SD_Hand 1098 0022 5B0A lsrs r3, r3, #9 @ _45, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockSize, 1099 0024 F5E7 b .L94 @ 1100 .LVL50: 1101 .L91: 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1102 .loc 4 560 31 view .LVU264 1103 .LBE63: 1104 .LBE68: 581:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /* Complete pending write process */ 1105 .loc 4 581 5 is_stmt 1 view .LVU265 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = RES_ERROR; 1106 .loc 4 583 7 view .LVU266 1107 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:583: if (sdio_check_c 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = RES_ERROR; 1108 .loc 4 583 45 is_stmt 0 view .LVU267 1109 0026 FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 1110 .LVL51: 1111 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:583: if (sdio_check_c 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = RES_ERROR; 1112 .loc 4 583 7 discriminator 1 view .LVU268 1113 002a 431C adds r3, r0, #1 @, tmp134, 1114 002c 5842 rsbs r0, r3, #0 @ ,, 1115 002e 5841 adcs r0, r0, r3 @ , , 1116 0030 F1E7 b .L92 @ 1117 .L96: 1118 0032 00BF .align 2 ARM GAS /tmp/ccJhhmLc.s page 97 1119 .L95: 1120 0034 00000000 .word _ZL4sdio.lto_priv.0 1121 .cfi_endproc 1122 .LFE17: 1123 .size _Z10sdio_ioctlhhPv, .-_Z10sdio_ioctlhhPv 1124 .section .text._ZN9MutexLockC2EP14mutex_handle_t.isra.0,"ax",%progbits 1125 .align 1 1126 .syntax unified 1127 .thumb 1128 .thumb_func 1129 .type _ZN9MutexLockC2EP14mutex_handle_t.isra.0, %function 1130 _ZN9MutexLockC2EP14mutex_handle_t.isra.0: 1131 .LVL52: 1132 .LFB24: 1133 .file 7 "/workspaces/edgetx/radio/src/os/task.h" 1:/workspaces/edgetx/radio/src/os/task.h **** /* 2:/workspaces/edgetx/radio/src/os/task.h **** * Copyright (C) EdgeTX 3:/workspaces/edgetx/radio/src/os/task.h **** * 4:/workspaces/edgetx/radio/src/os/task.h **** * Based on code named 5:/workspaces/edgetx/radio/src/os/task.h **** * opentx - https://github.com/opentx/opentx 6:/workspaces/edgetx/radio/src/os/task.h **** * th9x - http://code.google.com/p/th9x 7:/workspaces/edgetx/radio/src/os/task.h **** * er9x - http://code.google.com/p/er9x 8:/workspaces/edgetx/radio/src/os/task.h **** * gruvin9x - http://code.google.com/p/gruvin9x 9:/workspaces/edgetx/radio/src/os/task.h **** * 10:/workspaces/edgetx/radio/src/os/task.h **** * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html 11:/workspaces/edgetx/radio/src/os/task.h **** * 12:/workspaces/edgetx/radio/src/os/task.h **** * This program is free software; you can redistribute it and/or modify 13:/workspaces/edgetx/radio/src/os/task.h **** * it under the terms of the GNU General Public License version 2 as 14:/workspaces/edgetx/radio/src/os/task.h **** * published by the Free Software Foundation. 15:/workspaces/edgetx/radio/src/os/task.h **** * 16:/workspaces/edgetx/radio/src/os/task.h **** * This program is distributed in the hope that it will be useful, 17:/workspaces/edgetx/radio/src/os/task.h **** * but WITHOUT ANY WARRANTY; without even the implied warranty of 18:/workspaces/edgetx/radio/src/os/task.h **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19:/workspaces/edgetx/radio/src/os/task.h **** * GNU General Public License for more details. 20:/workspaces/edgetx/radio/src/os/task.h **** */ 21:/workspaces/edgetx/radio/src/os/task.h **** 22:/workspaces/edgetx/radio/src/os/task.h **** #pragma once 23:/workspaces/edgetx/radio/src/os/task.h **** 24:/workspaces/edgetx/radio/src/os/task.h **** #include 25:/workspaces/edgetx/radio/src/os/task.h **** 26:/workspaces/edgetx/radio/src/os/task.h **** // OS specific implementation 27:/workspaces/edgetx/radio/src/os/task.h **** #if defined(NATIVE_THREADS) 28:/workspaces/edgetx/radio/src/os/task.h **** #include "task_native.h" 29:/workspaces/edgetx/radio/src/os/task.h **** #elif defined(FREE_RTOS) 30:/workspaces/edgetx/radio/src/os/task.h **** #include "task_freertos.h" 31:/workspaces/edgetx/radio/src/os/task.h **** #endif 32:/workspaces/edgetx/radio/src/os/task.h **** 33:/workspaces/edgetx/radio/src/os/task.h **** typedef void (*task_func_t)(); 34:/workspaces/edgetx/radio/src/os/task.h **** 35:/workspaces/edgetx/radio/src/os/task.h **** void task_create(task_handle_t* h, task_func_t func, const char* name, 36:/workspaces/edgetx/radio/src/os/task.h **** void* stack, unsigned stack_size, unsigned priority); 37:/workspaces/edgetx/radio/src/os/task.h **** 38:/workspaces/edgetx/radio/src/os/task.h **** unsigned task_get_stack_usage(task_handle_t* h); 39:/workspaces/edgetx/radio/src/os/task.h **** unsigned task_get_stack_size(task_handle_t* h); 40:/workspaces/edgetx/radio/src/os/task.h **** 41:/workspaces/edgetx/radio/src/os/task.h **** bool scheduler_is_running(); 42:/workspaces/edgetx/radio/src/os/task.h **** ARM GAS /tmp/ccJhhmLc.s page 98 43:/workspaces/edgetx/radio/src/os/task.h **** void mutex_create(mutex_handle_t* h); 44:/workspaces/edgetx/radio/src/os/task.h **** bool mutex_lock(mutex_handle_t* h); 45:/workspaces/edgetx/radio/src/os/task.h **** void mutex_unlock(mutex_handle_t* h); 46:/workspaces/edgetx/radio/src/os/task.h **** bool mutex_trylock(mutex_handle_t* h); 47:/workspaces/edgetx/radio/src/os/task.h **** 48:/workspaces/edgetx/radio/src/os/task.h **** 49:/workspaces/edgetx/radio/src/os/task.h **** // this helper class is only to be used on the stack and never to be shared outside the scope where 50:/workspaces/edgetx/radio/src/os/task.h **** /* example usage 51:/workspaces/edgetx/radio/src/os/task.h **** * 52:/workspaces/edgetx/radio/src/os/task.h **** * void doWork() 53:/workspaces/edgetx/radio/src/os/task.h **** * { 54:/workspaces/edgetx/radio/src/os/task.h **** * 55:/workspaces/edgetx/radio/src/os/task.h **** * MutexLock lock = MutexLock::MakeInstance(mutex); 56:/workspaces/edgetx/radio/src/os/task.h **** * while(!queue.isEmpty) 57:/workspaces/edgetx/radio/src/os/task.h **** * { 58:/workspaces/edgetx/radio/src/os/task.h **** * lock.unlock(); 59:/workspaces/edgetx/radio/src/os/task.h **** * auto item = queue.pop(); 60:/workspaces/edgetx/radio/src/os/task.h **** * 61:/workspaces/edgetx/radio/src/os/task.h **** * lock.lock(); 62:/workspaces/edgetx/radio/src/os/task.h **** * } 63:/workspaces/edgetx/radio/src/os/task.h **** * } // auto mutex unlock, because lock is destructed here 64:/workspaces/edgetx/radio/src/os/task.h **** * 65:/workspaces/edgetx/radio/src/os/task.h **** * int sendMessage() 66:/workspaces/edgetx/radio/src/os/task.h **** * { 67:/workspaces/edgetx/radio/src/os/task.h **** * MutexLock lock = MutexLock::MakeInstance(busMutex); 68:/workspaces/edgetx/radio/src/os/task.h **** * if(busSendData(...) != OK) 69:/workspaces/edgetx/radio/src/os/task.h **** * return ERROR; // auto mutex unlock, because lock is destructed here 70:/workspaces/edgetx/radio/src/os/task.h **** * 71:/workspaces/edgetx/radio/src/os/task.h **** * lock.unlock(); 72:/workspaces/edgetx/radio/src/os/task.h **** * 73:/workspaces/edgetx/radio/src/os/task.h **** * if() 74:/workspaces/edgetx/radio/src/os/task.h **** * return ERROR; // no auto mutex unlock, because already unlocked 75:/workspaces/edgetx/radio/src/os/task.h **** * lock.lock() 76:/workspaces/edgetx/radio/src/os/task.h **** * if(busSendData(...) != OK) 77:/workspaces/edgetx/radio/src/os/task.h **** * return ERROR; // auto mutex unlock, because lock is destructed here 78:/workspaces/edgetx/radio/src/os/task.h **** * 79:/workspaces/edgetx/radio/src/os/task.h **** * return OK; 80:/workspaces/edgetx/radio/src/os/task.h **** * } // auto mutex unlock here, because lock is destructed here 81:/workspaces/edgetx/radio/src/os/task.h **** * 82:/workspaces/edgetx/radio/src/os/task.h **** * int doSomething() 83:/workspaces/edgetx/radio/src/os/task.h **** * { 84:/workspaces/edgetx/radio/src/os/task.h **** * 85:/workspaces/edgetx/radio/src/os/task.h **** * 86:/workspaces/edgetx/radio/src/os/task.h **** * if() 87:/workspaces/edgetx/radio/src/os/task.h **** * { 88:/workspaces/edgetx/radio/src/os/task.h **** * MutexLock lock = MutexLock::MakeInstance(busMutex); 89:/workspaces/edgetx/radio/src/os/task.h **** * if(busSendData(...) != OK) 90:/workspaces/edgetx/radio/src/os/task.h **** * return ERROR; // auto mutex unlock, because lock is destructed here 91:/workspaces/edgetx/radio/src/os/task.h **** * } // auto mutex unlock here, because lock is destructed here 92:/workspaces/edgetx/radio/src/os/task.h **** * 93:/workspaces/edgetx/radio/src/os/task.h **** * 94:/workspaces/edgetx/radio/src/os/task.h **** * 95:/workspaces/edgetx/radio/src/os/task.h **** * return OK; 96:/workspaces/edgetx/radio/src/os/task.h **** * } 97:/workspaces/edgetx/radio/src/os/task.h **** */ 98:/workspaces/edgetx/radio/src/os/task.h **** 99:/workspaces/edgetx/radio/src/os/task.h **** class MutexLock ARM GAS /tmp/ccJhhmLc.s page 99 100:/workspaces/edgetx/radio/src/os/task.h **** { 101:/workspaces/edgetx/radio/src/os/task.h **** public: 102:/workspaces/edgetx/radio/src/os/task.h **** static MutexLock MakeInstance(mutex_handle_t* mtx) {return MutexLock(mtx);} 103:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 104:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 105:/workspaces/edgetx/radio/src/os/task.h **** void unlock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex); locked=false;} 106:/workspaces/edgetx/radio/src/os/task.h **** 107:/workspaces/edgetx/radio/src/os/task.h **** MutexLock(const MutexLock&) = delete; 108:/workspaces/edgetx/radio/src/os/task.h **** MutexLock(MutexLock&&) = delete; 109:/workspaces/edgetx/radio/src/os/task.h **** MutexLock& operator =(const MutexLock&) = delete; 110:/workspaces/edgetx/radio/src/os/task.h **** MutexLock& operator =(MutexLock&&) = delete; 111:/workspaces/edgetx/radio/src/os/task.h **** static void* operator new (size_t) = delete; 112:/workspaces/edgetx/radio/src/os/task.h **** static void* operator new[] (size_t) = delete; 113:/workspaces/edgetx/radio/src/os/task.h **** static void operator delete (void*) = delete; 114:/workspaces/edgetx/radio/src/os/task.h **** static void operator delete[](void*) = delete; 115:/workspaces/edgetx/radio/src/os/task.h **** private: 116:/workspaces/edgetx/radio/src/os/task.h **** MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(false) {if(!scheduler_is_running()) return; mute 1134 .loc 7 116 3 is_stmt 1 view -0 1135 .cfi_startproc 1136 @ args = 0, pretend = 0, frame = 0 1137 @ frame_needed = 0, uses_anonymous_args = 0 1138 .LBB74: 1139 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1140 .loc 7 116 45 view .LVU270 1141 0000 0023 movs r3, #0 @ tmp118, 1142 .LBE74: 1143 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1144 .loc 7 116 3 view .LVU271 1145 0002 10B5 push {r4, lr} @ 1146 .LCFI5: 1147 .cfi_def_cfa_offset 8 1148 .cfi_offset 4, -8 1149 .cfi_offset 14, -4 1150 .LBB75: 1151 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1152 .loc 7 116 34 view .LVU272 1153 0004 0160 str r1, [r0] @ tmp124, *this_1(D).mutex 1154 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1155 .loc 7 116 45 view .LVU273 1156 0006 0371 strb r3, [r0, #4] @ tmp118, *this_1(D).locked 1157 .LBE75: 1158 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1159 .loc 7 116 3 view .LVU274 1160 0008 0446 mov r4, r0 @ this, tmp123 1161 .LBB76: 1162 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1163 .loc 7 116 84 view .LVU275 1164 000a FFF7FEFF bl _Z20scheduler_is_runningv @ 1165 .LVL53: 1166 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1167 .loc 7 116 60 discriminator 1 view .LVU276 1168 000e 20B1 cbz r0, .L97 @ tmp125, 1169 .LVL54: 1170 .loc 7 116 60 is_stmt 0 discriminator 1 view .LVU277 1171 .LBE76: 1172 .LBB77: 1173 .LBB78: ARM GAS /tmp/ccJhhmLc.s page 100 1174 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1175 .loc 7 116 106 is_stmt 1 discriminator 2 view .LVU278 1176 0010 2068 ldr r0, [r4] @, *this_1(D).mutex 1177 0012 FFF7FEFF bl _Z10mutex_lockP14mutex_handle_t @ 1178 .LVL55: 1179 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1180 .loc 7 116 122 discriminator 1 view .LVU279 1181 0016 0123 movs r3, #1 @ tmp121, 1182 0018 2371 strb r3, [r4, #4] @ tmp121, *this_1(D).locked 1183 .LVL56: 1184 .L97: 1185 .loc 7 116 122 is_stmt 0 discriminator 1 view .LVU280 1186 .LBE78: 1187 .LBE77: 1188 @ /workspaces/edgetx/radio/src/os/task.h:116: MutexLock(mutex_handle_t* mtx):mutex(mtx),locked(fa 1189 .loc 7 116 129 is_stmt 1 view .LVU281 1190 001a 10BD pop {r4, pc} @ 1191 .loc 7 116 129 is_stmt 0 view .LVU282 1192 .cfi_endproc 1193 .LFE24: 1194 .size _ZN9MutexLockC2EP14mutex_handle_t.isra.0, .-_ZN9MutexLockC2EP14mutex_handle_t.isra.0 1195 .section .text._ZN9MutexLockD2Ev.isra.0,"ax",%progbits 1196 .align 1 1197 .syntax unified 1198 .thumb 1199 .thumb_func 1200 .type _ZN9MutexLockD2Ev.isra.0, %function 1201 _ZN9MutexLockD2Ev.isra.0: 1202 .LVL57: 1203 .LFB27: 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1204 .loc 7 103 3 is_stmt 1 view -0 1205 .cfi_startproc 1206 @ args = 0, pretend = 0, frame = 0 1207 @ frame_needed = 0, uses_anonymous_args = 0 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1208 .loc 7 103 3 is_stmt 0 view .LVU284 1209 0000 10B5 push {r4, lr} @ 1210 .LCFI6: 1211 .cfi_def_cfa_offset 8 1212 .cfi_offset 4, -8 1213 .cfi_offset 14, -4 1214 @ /workspaces/edgetx/radio/src/os/task.h:103: ~MutexLock() {if(!scheduler_is_running()) return; i 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1215 .loc 7 103 3 is_stmt 1 view .LVU285 1216 0002 0446 mov r4, r0 @ this, tmp120 1217 .LBB84: 1218 @ /workspaces/edgetx/radio/src/os/task.h:103: ~MutexLock() {if(!scheduler_is_running()) return; i 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1219 .loc 7 103 41 view .LVU286 1220 0004 FFF7FEFF bl _Z20scheduler_is_runningv @ 1221 .LVL58: 1222 @ /workspaces/edgetx/radio/src/os/task.h:103: ~MutexLock() {if(!scheduler_is_running()) return; i 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1223 .loc 7 103 17 discriminator 1 view .LVU287 1224 0008 30B1 cbz r0, .L102 @ tmp121, 1225 .LVL59: ARM GAS /tmp/ccJhhmLc.s page 101 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1226 .loc 7 103 17 is_stmt 0 discriminator 1 view .LVU288 1227 .LBE84: 1228 .LBB85: 1229 .LBB86: 1230 @ /workspaces/edgetx/radio/src/os/task.h:103: ~MutexLock() {if(!scheduler_is_running()) return; i 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1231 .loc 7 103 53 is_stmt 1 discriminator 2 view .LVU289 1232 000a 2379 ldrb r3, [r4, #4] @ zero_extendqisi2 @ this_2(D)->locked, this_2(D)->locked 1233 000c 23B1 cbz r3, .L102 @ this_2(D)->locked, 1234 @ /workspaces/edgetx/radio/src/os/task.h:103: ~MutexLock() {if(!scheduler_is_running()) return; i 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1235 .loc 7 103 76 discriminator 4 view .LVU290 1236 000e 2068 ldr r0, [r4] @, this_2(D)->mutex 1237 .LBE86: 1238 .LBE85: 1239 @ /workspaces/edgetx/radio/src/os/task.h:103: ~MutexLock() {if(!scheduler_is_running()) return; i 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1240 .loc 7 103 84 view .LVU291 1241 0010 BDE81040 pop {r4, lr} @ 1242 .LCFI7: 1243 .cfi_remember_state 1244 .cfi_restore 14 1245 .cfi_restore 4 1246 .cfi_def_cfa_offset 0 1247 .LVL60: 1248 .LBB88: 1249 .LBB87: 1250 @ /workspaces/edgetx/radio/src/os/task.h:103: ~MutexLock() {if(!scheduler_is_running()) return; i 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1251 .loc 7 103 76 discriminator 4 view .LVU292 1252 0014 FFF7FEBF b _Z12mutex_unlockP14mutex_handle_t @ 1253 .LVL61: 1254 .L102: 1255 .LCFI8: 1256 .cfi_restore_state 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1257 .loc 7 103 76 is_stmt 0 discriminator 4 view .LVU293 1258 .LBE87: 1259 .LBE88: 1260 @ /workspaces/edgetx/radio/src/os/task.h:103: ~MutexLock() {if(!scheduler_is_running()) return; i 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1261 .loc 7 103 84 is_stmt 1 view .LVU294 1262 0018 10BD pop {r4, pc} @ 103:/workspaces/edgetx/radio/src/os/task.h **** void lock() {if(!scheduler_is_running()) return; if(!locked) mutex_lock(mutex); locked=true;} 1263 .loc 7 103 84 is_stmt 0 view .LVU295 1264 .cfi_endproc 1265 .LFE27: 1266 .size _ZN9MutexLockD2Ev.isra.0, .-_ZN9MutexLockD2Ev.isra.0 1267 .section .text.SDIO_IRQHandler,"ax",%progbits 1268 .align 1 1269 .global SDIO_IRQHandler 1270 .syntax unified 1271 .thumb 1272 .thumb_func 1273 .type SDIO_IRQHandler, %function 1274 SDIO_IRQHandler: ARM GAS /tmp/ccJhhmLc.s page 102 1275 .LFB29: 594:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** const diskio_driver_t sdio_diskio_driver = { 595:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** .initialize = sdio_initialize, 596:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** .status = sdio_status, 597:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** .read = sdio_read, 598:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** .write = sdio_write, 599:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** .ioctl = sdio_ioctl, 600:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** }; 601:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /** 602:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * @brief Tx Transfer completed callbacks 603:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * @param hsd: SD handle 604:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * @retval None 605:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** */ 606:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern "C" void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd) 608:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 609:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UNUSED(hsd); 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** WriteStatus = 2; 611:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 612:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern "C" void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd) 614:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 615:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UNUSED(hsd); 616:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** WriteStatus = 1; 617:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 618:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 619:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** /** 620:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * @brief Rx Transfer completed callbacks 621:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * @param hsd: SD handle 622:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** * @retval None 623:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** */ 624:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 625:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern "C" void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd) 626:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 627:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UNUSED(hsd); 628:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ReadStatus = 1; 629:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 630:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 631:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SDMMC1) 632:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern "C" void SDMMC1_IRQHandler(void) 633:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 634:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DEBUG_INTERRUPT(INT_SDIO); 635:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_SD_IRQHandler(&sdio); 636:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 637:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SDMMC2) && defined(SD2_PRESENT_GPIO) 638:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern "C" void SDMMC2_IRQHandler(void) 639:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 640:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DEBUG_INTERRUPT(INT_SDIO); 641:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_SD_IRQHandler(&sdio); 642:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 643:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 644:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #else 645:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern "C" void SD_SDIO_IRQHandler(void) 646:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1276 .loc 4 646 1 is_stmt 1 view -0 1277 .cfi_startproc 1278 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccJhhmLc.s page 103 1279 @ frame_needed = 0, uses_anonymous_args = 0 647:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DEBUG_INTERRUPT(INT_SDIO); 1280 .loc 4 647 28 view .LVU297 648:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_SD_IRQHandler(&sdio); 1281 .loc 4 648 3 view .LVU298 1282 .LBB121: 1283 .LBI121: 1509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1284 .loc 6 1509 6 view .LVU299 1285 .LVL62: 1509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1286 .loc 6 1509 6 is_stmt 0 view .LVU300 1287 .LBE121: 1288 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:646: { 646:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DEBUG_INTERRUPT(INT_SDIO); 1289 .loc 4 646 1 view .LVU301 1290 0000 70B5 push {r4, r5, r6, lr} @ 1291 .LCFI9: 1292 .cfi_def_cfa_offset 16 1293 .cfi_offset 4, -16 1294 .cfi_offset 5, -12 1295 .cfi_offset 6, -8 1296 .cfi_offset 14, -4 1297 .LBB159: 1298 .LBB122: 1299 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1512: uint3 1512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1300 .loc 6 1512 12 view .LVU302 1301 0002 744C ldr r4, .L187 @ tmp206, 1302 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1515: if((_ 1515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1303 .loc 6 1515 7 view .LVU303 1304 0004 2568 ldr r5, [r4] @ _4, MEM[(struct SD_HandleTypeDef *)&sdio].Instance 1305 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1512: uint3 1512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1306 .loc 6 1512 12 view .LVU304 1307 0006 266B ldr r6, [r4, #48] @ context, MEM[(struct SD_HandleTypeDef *)&sdio].Context 1308 .LVL63: 1309 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1515: if((_ 1515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1310 .loc 6 1515 7 view .LVU305 1311 0008 6B6B ldr r3, [r5, #52] @ _5, _4->STA 1312 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1515: if((_ 1515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1313 .loc 6 1515 5 view .LVU306 1314 000a 1804 lsls r0, r3, #16 @, _5, 1315 000c 1DD5 bpl .L109 @, 1316 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1515: if((_ 1515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1317 .loc 6 1515 60 discriminator 1 view .LVU307 1318 000e 3107 lsls r1, r6, #28 @, context, 1319 0010 1BD5 bpl .L109 @, 1320 .LBB123: 1321 .LBI123: 2219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 2221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 104 2222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Enables wide bus operation for the requested card if supported by 2225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * card. 2226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 2227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param WideMode: Specifies the SD card wide bus mode 2228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * This parameter can be one of the following values: 2229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg SDIO_BUS_WIDE_8B: 8-bit data transfer 2230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg SDIO_BUS_WIDE_4B: 4-bit data transfer 2231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @arg SDIO_BUS_WIDE_1B: 1-bit data transfer 2232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 2233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_ConfigWideBusOperation(SD_HandleTypeDef *hsd, uint32_t WideMode) 2235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_InitTypeDef Init; 2237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 2238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef status = HAL_OK; 2239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check the parameters */ 2241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** assert_param(IS_SDIO_BUS_WIDE(WideMode)); 2242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Change State */ 2244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_BUSY; 2245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED) 2247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(WideMode == SDIO_BUS_WIDE_8B) 2249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 2251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(WideMode == SDIO_BUS_WIDE_4B) 2253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SD_WideBus_Enable(hsd); 2255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(WideMode == SDIO_BUS_WIDE_1B) 2259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SD_WideBus_Disable(hsd); 2261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* WideMode is not a valid argument*/ 2267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 2268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* MMC Card does not support this feature */ 2273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 2274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->ErrorCode != HAL_SD_ERROR_NONE) 2277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ ARM GAS /tmp/ccJhhmLc.s page 105 2279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 2280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 2282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure the SDIO peripheral */ 2286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.ClockEdge = hsd->Init.ClockEdge; 2287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.ClockBypass = hsd->Init.ClockBypass; 2288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.ClockPowerSave = hsd->Init.ClockPowerSave; 2289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.BusWide = WideMode; 2290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.HardwareFlowControl = hsd->Init.HardwareFlowControl; 2291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** Init.ClockDiv = hsd->Init.ClockDiv; 2292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_Init(hsd->Instance, Init); 2293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set Block Size for Card */ 2296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 2297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 2300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 2301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** status = HAL_ERROR; 2303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Change State */ 2306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return status; 2309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Gets the current sd card data state. 2313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: pointer to SD handle 2314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval Card state 2315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_CardStateTypeDef HAL_SD_GetCardState(SD_HandleTypeDef *hsd) 2317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t cardstate; 2319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 2320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t resp1 = 0; 2321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SD_SendStatus(hsd, &resp1); 2323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** cardstate = ((resp1 >> 9U) & 0x0FU); 2329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return (HAL_SD_CardStateTypeDef)cardstate; 2331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Abort the current transfer and disable the SD. 2335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: pointer to a SD_HandleTypeDef structure that contains ARM GAS /tmp/ccJhhmLc.s page 106 2336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * the configuration information for SD module. 2337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 2338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_Abort(SD_HandleTypeDef *hsd) 2340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 2342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t context = hsd->Context; 2343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* DIsable All interrupts */ 2345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDIO_IT_DATAEND | SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT|\ 2346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR| SDIO_IT_RXOVERR); 2347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear All flags */ 2349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 2350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** CLEAR_BIT(hsd->Instance->DCTRL, SDIO_DCTRL_DTEN); 2352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if ((context & SD_CONTEXT_DMA) != 0U) 2354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable the SD DMA request */ 2356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDIO_DCTRL_DMAEN); 2357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort the SD DMA Tx channel */ 2359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if (((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_ 2360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_Abort(hsd->hdmatx) != HAL_OK) 2362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 2364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort the SD DMA Rx channel */ 2367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if (((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIP 2368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_Abort(hsd->hdmarx) != HAL_OK) 2370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 2372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Nothing to do */ 2377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Initialize the SD operation */ 2383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd); 2386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 2387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = SDMMC_CmdStopTransfer(hsd->Instance); 2389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->ErrorCode != HAL_SD_ERROR_NONE) 2391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; ARM GAS /tmp/ccJhhmLc.s page 107 2393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 2395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Abort the current transfer and disable the SD (IT mode). 2399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: pointer to a SD_HandleTypeDef structure that contains 2400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * the configuration information for SD module. 2401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval HAL status 2402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_StatusTypeDef HAL_SD_Abort_IT(SD_HandleTypeDef *hsd) 2404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 2406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t context = hsd->Context; 2407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable All interrupts */ 2409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDIO_IT_DATAEND | SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT|\ 2410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR| SDIO_IT_RXOVERR); 2411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** CLEAR_BIT(hsd->Instance->DCTRL, SDIO_DCTRL_DTEN); 2413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if ((context & SD_CONTEXT_DMA) != 0U) 2415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable the SD DMA request */ 2417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDIO_DCTRL_DMAEN); 2418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort the SD DMA Tx channel */ 2420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if (((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_ 2421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmatx->XferAbortCallback = SD_DMATxAbort; 2423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 2424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmatx = NULL; 2426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort the SD DMA Rx channel */ 2429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if (((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIP 2430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmarx->XferAbortCallback = SD_DMARxAbort; 2432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 2433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->hdmarx = NULL; 2435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Nothing to do */ 2440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* No transfer ongoing on both DMA channels*/ 2443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear All flags */ 2446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 2447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd); 2449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; ARM GAS /tmp/ccJhhmLc.s page 108 2450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 2452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode = SDMMC_CmdStopTransfer(hsd->Instance); 2454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->ErrorCode != HAL_SD_ERROR_NONE) 2456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 2458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 2462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->AbortCpltCallback(hsd); 2463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 2464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_AbortCallback(hsd); 2465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ 2466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_OK; 2470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @} 2474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @} 2478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Private function ----------------------------------------------------------*/ 2481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** @addtogroup SD_Private_Functions 2482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @{ 2483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief DMA SD transmit process complete callback 2487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hdma: DMA handle 2488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 2489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMATransmitCplt(DMA_HandleTypeDef *hdma) 2491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 2493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Enable DATAEND Interrupt */ 2495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_ENABLE_IT(hsd, (SDIO_IT_DATAEND)); 2496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief DMA SD receive process complete callback 2500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hdma: DMA handle 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 2502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 2504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 2506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; ARM GAS /tmp/ccJhhmLc.s page 109 2507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send stop command in multiblock write */ 2509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->Context == (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA)) 2510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 2512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 2515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 2516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback(hsd); 2517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 2518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd); 2519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif 2520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable the DMA transfer for transmit request by setting the DMAEN bit 2524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** in the SD DCTRL register */ 2525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDIO_DCTRL_DMAEN); 2526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 2528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 2529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 2534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->RxCpltCallback(hsd); 2535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 2536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_RxCpltCallback(hsd); 2537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif 2538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief DMA SD communication error callback 2542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hdma: DMA handle 2543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 2544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMAError(DMA_HandleTypeDef *hdma) 2546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 2548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 2549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t RxErrorCode, TxErrorCode; 2550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* if DMA error is FIFO error ignore it */ 2552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(HAL_DMA_GetError(hdma) != HAL_DMA_ERROR_FE) 2553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** RxErrorCode = hsd->hdmarx->ErrorCode; 2555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** TxErrorCode = hsd->hdmatx->ErrorCode; 2556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE)) 2557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear All flags */ 2559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 2560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Disable All interrupts */ 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_DISABLE_IT(hsd, SDIO_IT_DATAEND | SDIO_IT_DCRCFAIL | SDIO_IT_DTIMEOUT|\ 2563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR| SDIO_IT_RXOVERR); ARM GAS /tmp/ccJhhmLc.s page 110 2564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 2566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd); 2567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 2568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 2570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State= HAL_SD_STATE_READY; 2573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 2577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback(hsd); 2578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 2579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd); 2580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif 2581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief DMA SD Tx Abort callback 2586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hdma: DMA handle 2587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 2588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMATxAbort(DMA_HandleTypeDef *hdma) 2590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 2592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 2593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear All flags */ 2595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 2596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd); 2598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 2601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 2603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 2606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 2608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->AbortCpltCallback(hsd); 2609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 2610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_AbortCallback(hsd); 2611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif 2612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 2616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback(hsd); 2617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 2618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd); 2619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif 2620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 111 2621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief DMA SD Rx Abort callback 2625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hdma: DMA handle 2626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 2627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_DMARxAbort(DMA_HandleTypeDef *hdma) 2629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 2631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_CardStateTypeDef CardState; 2632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear All flags */ 2634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 2635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** CardState = HAL_SD_GetCardState(hsd); 2637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 2638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 2639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 2640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 2642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 2645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 2647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->AbortCpltCallback(hsd); 2648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 2649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_AbortCallback(hsd); 2650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif 2651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCallback(hsd); 2656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else 2657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_ErrorCallback(hsd); 2658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #endif 2659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Initializes the sd card. 2664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 2665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval SD Card error state 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_InitCard(SD_HandleTypeDef *hsd) 2668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** HAL_SD_CardCSDTypeDef CSD; 2670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 2671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint16_t sd_rca = 1U; 2672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check the power State */ 2674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(SDIO_GetPowerState(hsd->Instance) == 0U) 2675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Power off */ 2677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; ARM GAS /tmp/ccJhhmLc.s page 112 2678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED) 2681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD2 ALL_SEND_CID */ 2683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdSendCID(hsd->Instance); 2684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get Card identification number data */ 2691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->CID[0U] = SDIO_GetResponse(hsd->Instance, SDIO_RESP1); 2692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->CID[1U] = SDIO_GetResponse(hsd->Instance, SDIO_RESP2); 2693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->CID[2U] = SDIO_GetResponse(hsd->Instance, SDIO_RESP3); 2694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->CID[3U] = SDIO_GetResponse(hsd->Instance, SDIO_RESP4); 2695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED) 2699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD3 SET_REL_ADDR with argument 0 */ 2701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* SD Card publishes its RCA. */ 2702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdSetRelAdd(hsd->Instance, &sd_rca); 2703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(hsd->SdCard.CardType != CARD_SECURED) 2709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get the SD card RCA */ 2711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.RelCardAdd = sd_rca; 2712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD9 SEND_CSD with argument as card's RCA */ 2714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdSendCSD(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 2715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get Card Specific Data */ 2722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->CSD[0U] = SDIO_GetResponse(hsd->Instance, SDIO_RESP1); 2723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->CSD[1U] = SDIO_GetResponse(hsd->Instance, SDIO_RESP2); 2724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->CSD[2U] = SDIO_GetResponse(hsd->Instance, SDIO_RESP3); 2725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->CSD[3U] = SDIO_GetResponse(hsd->Instance, SDIO_RESP4); 2726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get the Card Class */ 2730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.Class = (SDIO_GetResponse(hsd->Instance, SDIO_RESP2) >> 20U); 2731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get CSD parameters */ 2733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if (HAL_SD_GetCardCSD(hsd, &CSD) != HAL_OK) 2734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { ARM GAS /tmp/ccJhhmLc.s page 113 2735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 2736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Select the Card */ 2739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdSelDesel(hsd->Instance, (uint32_t)(((uint32_t)hsd->SdCard.RelCardAdd) << 16 2740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure SDIO peripheral interface */ 2746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_Init(hsd->Instance, hsd->Init); 2747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* All cards are initialized */ 2749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_NONE; 2750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Enquires cards about their operating voltage and configures clock 2754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * controls and stores SD information that will be needed in future 2755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * in the SD handle. 2756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 2757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval error state 2758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_PowerON(SD_HandleTypeDef *hsd) 2760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __IO uint32_t count = 0U; 2762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t response = 0U, validvoltage = 0U; 2763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 2764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */ 2766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 2767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* CMD8: SEND_IF_COND: Command available only on V2.0 cards */ 2773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdOperCond(hsd->Instance); 2774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.CardVersion = CARD_V1_X; 2777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* CMD0: GO_IDLE_STATE */ 2778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 2779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.CardVersion = CARD_V2_X; 2788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if( hsd->SdCard.CardVersion == CARD_V2_X) 2791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { ARM GAS /tmp/ccJhhmLc.s page 114 2792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* SEND CMD55 APP_CMD with RCA as 0 */ 2793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); 2794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 2797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* SD CARD */ 2800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send ACMD41 SD_APP_OP_COND with Argument 0x80100000 */ 2801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while((count < SDMMC_MAX_VOLT_TRIAL) && (validvoltage == 0U)) 2802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* SEND CMD55 APP_CMD with RCA as 0 */ 2804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); 2805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD41 */ 2811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdAppOperCommand(hsd->Instance, SDMMC_VOLTAGE_WINDOW_SD | SDMMC_HIGH_CAPACI 2812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 2815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get command response */ 2818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** response = SDIO_GetResponse(hsd->Instance, SDIO_RESP1); 2819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get operating voltage*/ 2821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** validvoltage = (((response >> 31U) == 1U) ? 1U : 0U); 2822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** count++; 2824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(count >= SDMMC_MAX_VOLT_TRIAL) 2827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_INVALID_VOLTRANGE; 2829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((response & SDMMC_HIGH_CAPACITY) == SDMMC_HIGH_CAPACITY) /* (response &= SD_HIGH_CAPACITY) */ 2832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.CardType = CARD_SDHC_SDXC; 2834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->SdCard.CardType = CARD_SDSC; 2838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_NONE; 2842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Turns the SDIO output signals off. 2846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 2847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 2848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ ARM GAS /tmp/ccJhhmLc.s page 115 2849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_PowerOFF(SD_HandleTypeDef *hsd) 2850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set Power State to OFF */ 2852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_PowerState_OFF(hsd->Instance); 2853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Send Status info command. 2857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: pointer to SD handle 2858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pSDstatus: Pointer to the buffer that will contain the SD card status 2859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * SD Status register) 2860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval error state 2861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_SendSDStatus(SD_HandleTypeDef *hsd, uint32_t *pSDstatus) 2863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_DataInitTypeDef config; 2865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 2866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick(); 2867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t count; 2868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t *pData = pSDstatus; 2869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Check SD response */ 2871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((SDIO_GetResponse(hsd->Instance, SDIO_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 2872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 2874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set block size for card if it is not equal to current block size for card */ 2877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, 64U); 2878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_NONE; 2881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD55 */ 2885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 2886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_NONE; 2889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Configure the SD DPSM (Data Path State Machine) */ 2893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT; 2894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataLength = 64U; 2895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataBlockSize = SDIO_DATABLOCK_SIZE_64B; 2896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferDir = SDIO_TRANSFER_DIR_TO_SDIO; 2897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferMode = SDIO_TRANSFER_MODE_BLOCK; 2898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DPSM = SDIO_DPSM_ENABLE; 2899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_ConfigData(hsd->Instance, &config); 2900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send ACMD13 (SD_APP_STAUS) with argument as card's RCA */ 2902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdStatusRegister(hsd->Instance); 2903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_NONE; ARM GAS /tmp/ccJhhmLc.s page 116 2906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get status data */ 2910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_ 2911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXFIFOHF)) 2913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** for(count = 0U; count < 8U; count++) 2915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *pData = SDIO_ReadFIFO(hsd->Instance); 2917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pData++; 2918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) 2922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_TIMEOUT; 2924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DTIMEOUT)) 2928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_DATA_TIMEOUT; 2930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DCRCFAIL)) 2932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_DATA_CRC_FAIL; 2934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR)) 2936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_RX_OVERRUN; 2938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 2940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Nothing to do */ 2942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while ((__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXDAVL))) 2945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *pData = SDIO_ReadFIFO(hsd->Instance); 2947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** pData++; 2948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) 2950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_TIMEOUT; 2952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static status flags*/ 2956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 2957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_NONE; 2959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Returns the current card's status. ARM GAS /tmp/ccJhhmLc.s page 117 2963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 2964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pCardStatus: pointer to the buffer that will contain the SD card 2965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * status (Card Status register) 2966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval error state 2967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_SendStatus(SD_HandleTypeDef *hsd, uint32_t *pCardStatus) 2969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 2971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(pCardStatus == NULL) 2973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_PARAM; 2975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send Status command */ 2978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdSendStatus(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 2979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 2980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 2982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get SD card status */ 2985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *pCardStatus = SDIO_GetResponse(hsd->Instance, SDIO_RESP1); 2986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_NONE; 2988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 2989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 2990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 2991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Enables the SDIO wide bus mode. 2992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: pointer to SD handle 2993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval error state 2994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 2995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_WideBus_Enable(SD_HandleTypeDef *hsd) 2996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 2997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U}; 2998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 2999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((SDIO_GetResponse(hsd->Instance, SDIO_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 3001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 3003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get SCR Register */ 3006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SD_FindSCR(hsd, scr); 3007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 3010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* If requested card supports wide bus operation */ 3013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((scr[1U] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO) 3014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD55 APP_CMD with argument as card's RCA.*/ 3016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 3017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; ARM GAS /tmp/ccJhhmLc.s page 118 3020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ 3023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdBusWidth(hsd->Instance, 2U); 3024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 3027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_NONE; 3030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 3032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 3034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 3038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Disables the SDIO wide bus mode. 3039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 3040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval error state 3041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 3042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_WideBus_Disable(SD_HandleTypeDef *hsd) 3043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t scr[2U] = {0U, 0U}; 3045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 3046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((SDIO_GetResponse(hsd->Instance, SDIO_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 3048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 3050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Get SCR Register */ 3053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SD_FindSCR(hsd, scr); 3054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 3057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* If requested card supports 1 bit mode operation */ 3060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((scr[1U] & SDMMC_SINGLE_BUS_SUPPORT) != SDMMC_ALLZERO) 3061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD55 APP_CMD with argument as card's RCA */ 3063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 3064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 3067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send ACMD6 APP_CMD with argument as 0 for single bus mode */ 3070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdBusWidth(hsd->Instance, 0U); 3071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 3074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_NONE; ARM GAS /tmp/ccJhhmLc.s page 119 3077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 3079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 3081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 3086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Finds the SD card SCR register value. 3087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: Pointer to SD handle 3088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param pSCR: pointer to the buffer that will contain the SCR value 3089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval error state 3090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 3091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static uint32_t SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR) 3092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_DataInitTypeDef config; 3094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t errorstate; 3095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t tickstart = HAL_GetTick(); 3096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t index = 0U; 3097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t tempscr[2U] = {0U, 0U}; 3098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t *scr = pSCR; 3099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Set Block Size To 8 Bytes */ 3101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdBlockLength(hsd->Instance, 8U); 3102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 3105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send CMD55 APP_CMD with argument as card's RCA */ 3108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)((hsd->SdCard.RelCardAdd) << 16U)); 3109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 3112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataTimeOut = SDMMC_DATATIMEOUT; 3115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataLength = 8U; 3116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DataBlockSize = SDIO_DATABLOCK_SIZE_8B; 3117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferDir = SDIO_TRANSFER_DIR_TO_SDIO; 3118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.TransferMode = SDIO_TRANSFER_MODE_BLOCK; 3119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** config.DPSM = SDIO_DPSM_ENABLE; 3120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_ConfigData(hsd->Instance, &config); 3121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Send ACMD51 SD_APP_SEND_SCR with argument as 0 */ 3123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** errorstate = SDMMC_CmdSendSCR(hsd->Instance); 3124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 3125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return errorstate; 3127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** while(!__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT)) 3130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXDAVL)) 3132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *(tempscr + index) = SDIO_ReadFIFO(hsd->Instance); ARM GAS /tmp/ccJhhmLc.s page 120 3134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** index++; 3135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(!__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXACT)) 3137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** break; 3139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) 3142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_TIMEOUT; 3144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DTIMEOUT)) 3148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_FLAG_DTIMEOUT); 3150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_DATA_TIMEOUT; 3152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_DCRCFAIL)) 3154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_FLAG_DCRCFAIL); 3156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_DATA_CRC_FAIL; 3158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else if(__HAL_SD_GET_FLAG(hsd, SDIO_FLAG_RXOVERR)) 3160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_FLAG_RXOVERR); 3162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_RX_OVERRUN; 3164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** else 3166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* No error flag set */ 3168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Clear all the static flags */ 3169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_DATA_FLAGS); 3170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 3172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 3173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** scr++; 3174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 3175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 3176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_SD_ERROR_NONE; 3180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 3183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Wrap up reading in non-blocking mode. 3184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: pointer to a SD_HandleTypeDef structure that contains 3185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * the configuration information. 3186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None 3187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 3188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_Read_IT(SD_HandleTypeDef *hsd) 1322 .loc 6 3188 13 is_stmt 1 view .LVU308 1323 .LVL64: ARM GAS /tmp/ccJhhmLc.s page 121 1324 .LBB124: 1325 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3194: datar 3189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t count, data, dataremaining; 3191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint8_t* tmp; 3192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp = hsd->pRxBuffPtr; 3194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining = hsd->RxXferSize; 1326 .loc 6 3194 17 is_stmt 0 view .LVU309 1327 0012 E06A ldr r0, [r4, #44] @ dataremaining, MEM[(struct SD_HandleTypeDef *)&sdio].RxXferSize 1328 .LVL65: 1329 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3196: if (d 3195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if (dataremaining > 0U) 1330 .loc 6 3196 6 view .LVU310 1331 0014 C0B1 cbz r0, .L108 @ dataremaining, 1332 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3193: tmp = 3193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining = hsd->RxXferSize; 1333 .loc 6 3193 7 view .LVU311 1334 0016 A16A ldr r1, [r4, #40] @ tmp, MEM[(struct SD_HandleTypeDef *)&sdio].pRxBuffPtr 1335 0018 0B1D adds r3, r1, #4 @ ivtmp.44, tmp, 1336 001a 01F12405 add r5, r1, #36 @ _204, tmp, 1337 .LVL66: 1338 .L112: 1339 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3201: d 3197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Read data from SDIO Rx FIFO */ 3199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** for(count = 0U; count < 8U; count++) 3200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data = SDIO_ReadFIFO(hsd->Instance); 1340 .loc 6 3201 14 view .LVU312 1341 001e 2268 ldr r2, [r4] @ _72, MEM[(struct SD_HandleTypeDef *)&sdio].Instance 1342 .LVL67: 1343 .LBB125: 1344 .LBI125: 1345 .file 8 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @file stm32f4xx_ll_sdmmc.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief SDMMC Low Layer HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * This file provides firmware functions to manage the following 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * functionalities of the SDMMC peripheral: 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * + Initialization/de-initialization functions 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * + I/O operation functions 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * + Peripheral Control functions 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * + Peripheral State functions 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @verbatim 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ============================================================================== 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ##### SDMMC peripheral features ##### 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ============================================================================== 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] The SD/SDMMC MMC card host interface (SDMMC) provides an interface between the AHB 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** peripheral bus and MultiMedia cards (MMCs), SD memory cards, SDMMC cards and CE-ATA 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** devices. 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ARM GAS /tmp/ccJhhmLc.s page 122 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] The SDMMC features include the following: 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Full compliance with MultiMedia Card System Specification Version 4.2. Card support 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** for three different databus modes: 1-bit (default), 4-bit and 8-bit 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Full compatibility with previous versions of MultiMedia Cards (forward compatibility) 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Full compliance with SD Memory Card Specifications Version 2.0 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Full compliance with SD I/O Card Specification Version 2.0: card support for two 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** different data bus modes: 1-bit (default) and 4-bit 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Full support of the CE-ATA features (full compliance with CE-ATA digital protocol 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Rev1.1) 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Data transfer up to 48 MHz for the 8 bit mode 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Data and command output enable signals to control external bidirectional drivers 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ##### How to use this driver ##### 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ============================================================================== 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** This driver is a considered as a driver of service for external devices drivers 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** that interfaces with the SDMMC peripheral. 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** According to the device used (SD card/ MMC card / SDMMC card ...), a set of APIs 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** is used in the device's driver to perform SDMMC operations and functionalities. 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** This driver is almost transparent for the final user, it is only used to implement other 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** functionalities of the external device. 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) The SDMMC clock (SDMMCCLK = 48 MHz) is coming from a specific output (MSI, PLLUSB1CLK, 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** PLLUSB2CLK). Before start working with SDMMC peripheral make sure that the 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** PLL is well configured. 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** The SDMMC peripheral uses two clock signals: 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) SDMMC adapter clock (SDMMCCLK = 48 MHz) 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) APB2 bus clock (PCLK2) 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** -@@- PCLK2 and SDMMC_CK clock frequencies must respect the following condition: 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Frequency(PCLK2) >= (3 / 8 x Frequency(SDMMC_CK)) 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Enable/Disable peripheral clock using RCC peripheral macros related to SDMMC 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** peripheral. 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Enable the Power ON State using the SDIO_PowerState_ON() 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** function and disable it using the function SDIO_PowerState_OFF(). 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Enable/Disable the clock using the __SDIO_ENABLE()/__SDIO_DISABLE() macros. 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) Enable/Disable the peripheral interrupts using the macros __SDIO_ENABLE_IT() 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** and __SDIO_DISABLE_IT() if you need to use interrupt mode. 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) When using the DMA mode 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Configure the DMA in the MSP layer of the external device 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Active the needed channel Request 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Enable the DMA using __SDIO_DMA_ENABLE() macro or Disable it using the macro 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** __SDIO_DMA_DISABLE(). 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) To control the CPSM (Command Path State Machine) and send 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** commands to the card use the SDIO_SendCommand(), 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_GetCommandResponse() and SDIO_GetResponse() functions. First, user has 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** to fill the command structure (pointer to SDIO_CmdInitTypeDef) according 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** to the selected command to be sent. 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** The parameters that should be filled are: ARM GAS /tmp/ccJhhmLc.s page 123 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Command Argument 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Command Index 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Command Response type 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Command Wait 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) CPSM Status (Enable or Disable). 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** -@@- To check if the command is well received, read the SDIO_CMDRESP 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** register using the SDIO_GetCommandResponse(). 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** The SDMMC responses registers (SDIO_RESP1 to SDIO_RESP2), use the 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_GetResponse() function. 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (+) To control the DPSM (Data Path State Machine) and send/receive 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** data to/from the card use the SDIO_DataConfig(), SDIO_GetDataCounter(), 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_ReadFIFO(), SDIO_WriteFIFO() and SDIO_GetFIFOCount() functions. 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** *** Read Operations *** 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ======================= 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) First, user has to fill the data structure (pointer to 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_DataInitTypeDef) according to the selected data type to be received. 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** The parameters that should be filled are: 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data TimeOut 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data Length 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data Block size 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data Transfer direction: should be from card (To SDMMC) 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data Transfer mode 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) DPSM Status (Enable or Disable) 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) Configure the SDMMC resources to receive the data from the card 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** according to selected transfer mode (Refer to Step 8, 9 and 10). 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) Send the selected Read command (refer to step 11). 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) Use the SDIO flags/interrupts to check the transfer status. 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** *** Write Operations *** 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ======================== 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) First, user has to fill the data structure (pointer to 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_DataInitTypeDef) according to the selected data type to be received. 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** The parameters that should be filled are: 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data TimeOut 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data Length 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data Block size 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data Transfer direction: should be to card (To CARD) 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) Data Transfer mode 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (++) DPSM Status (Enable or Disable) 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) Configure the SDMMC resources to send the data to the card according to 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** selected transfer mode. 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) Send the selected Write command. 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) Use the SDIO flags/interrupts to check the transfer status. 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** *** Command management operations *** 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ===================================== ARM GAS /tmp/ccJhhmLc.s page 124 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (#) The commands used for Read/Write/Erase operations are managed in 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** separate functions. 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Each function allows to send the needed command with the related argument, 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** then check the response. 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** By the same approach, you could implement a command and check the response. 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @endverbatim 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ****************************************************************************** 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @attention 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** *

© Copyright (c) 2017 STMicroelectronics. 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * All rights reserved.

149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * This software component is licensed by ST under BSD 3-Clause license, 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * the "License"; You may not use this file except in compliance with the 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * License. You may obtain a copy of the License at: 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * opensource.org/licenses/BSD-3-Clause 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ****************************************************************************** 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Includes ------------------------------------------------------------------*/ 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** #include "stm32f4xx_hal.h" 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** #if defined(SDIO) 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** @addtogroup STM32F4xx_HAL_Driver 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @{ 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** @defgroup SDMMC_LL SDMMC Low Layer 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Low layer module for SD 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @{ 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** #if defined(HAL_SD_MODULE_ENABLED) || defined(HAL_MMC_MODULE_ENABLED) 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Private typedef -----------------------------------------------------------*/ 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Private define ------------------------------------------------------------*/ 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Private macro -------------------------------------------------------------*/ 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Private variables ---------------------------------------------------------*/ 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Private function prototypes -----------------------------------------------*/ 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** static uint32_t SDMMC_GetCmdError(SDIO_TypeDef *SDIOx); 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** static uint32_t SDMMC_GetCmdResp1(SDIO_TypeDef *SDIOx, uint8_t SD_CMD, uint32_t Timeout); 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** static uint32_t SDMMC_GetCmdResp2(SDIO_TypeDef *SDIOx); 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** static uint32_t SDMMC_GetCmdResp3(SDIO_TypeDef *SDIOx); 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** static uint32_t SDMMC_GetCmdResp7(SDIO_TypeDef *SDIOx); 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** static uint32_t SDMMC_GetCmdResp6(SDIO_TypeDef *SDIOx, uint8_t SD_CMD, uint16_t *pRCA); 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Exported functions --------------------------------------------------------*/ 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** @defgroup SDMMC_LL_Exported_Functions SDMMC Low Layer Exported Functions 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @{ 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** @defgroup HAL_SDMMC_LL_Group1 Initialization de-initialization functions ARM GAS /tmp/ccJhhmLc.s page 125 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Initialization and Configuration functions 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @verbatim 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** =============================================================================== 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ##### Initialization/de-initialization functions ##### 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** =============================================================================== 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] This section provides functions allowing to: 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @endverbatim 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @{ 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Initializes the SDMMC according to the specified 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * parameters in the SDMMC_InitTypeDef and create the associated handle. 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param Init: SDMMC initialization structure 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** HAL_StatusTypeDef SDIO_Init(SDIO_TypeDef *SDIOx, SDIO_InitTypeDef Init) 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t tmpreg = 0; 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check the parameters */ 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_ALL_INSTANCE(SDIOx)); 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_CLOCK_EDGE(Init.ClockEdge)); 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_CLOCK_BYPASS(Init.ClockBypass)); 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_CLOCK_POWER_SAVE(Init.ClockPowerSave)); 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_BUS_WIDE(Init.BusWide)); 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_HARDWARE_FLOW_CONTROL(Init.HardwareFlowControl)); 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_CLKDIV(Init.ClockDiv)); 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set SDMMC configuration parameters */ 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** tmpreg |= (Init.ClockEdge |\ 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Init.ClockBypass |\ 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Init.ClockPowerSave |\ 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Init.BusWide |\ 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Init.HardwareFlowControl |\ 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Init.ClockDiv 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ); 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Write to SDMMC CLKCR */ 235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** MODIFY_REG(SDIOx->CLKCR, CLKCR_CLEAR_MASK, tmpreg); 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return HAL_OK; 238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @} 243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** @defgroup HAL_SDMMC_LL_Group2 IO operation functions 246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Data transfers functions 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @verbatim 249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** =============================================================================== ARM GAS /tmp/ccJhhmLc.s page 126 250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ##### I/O operation functions ##### 251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** =============================================================================== 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** This subsection provides a set of functions allowing to manage the SDMMC data 254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** transfers. 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @endverbatim 257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @{ 258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Read data (word) from Rx FIFO in blocking mode (polling) 262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDIO_ReadFIFO(SDIO_TypeDef *SDIOx) 1346 .loc 8 265 10 is_stmt 1 view .LVU313 1347 .LBB126: 266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Read data from Rx FIFO */ 268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return (SDIOx->FIFO); 1348 .loc 8 268 3 view .LVU314 1349 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:268: retu 1350 .loc 8 268 16 is_stmt 0 view .LVU315 1351 0020 D2F88020 ldr r2, [r2, #128] @ _87, _72->FIFO 1352 .LVL68: 1353 .loc 8 268 16 view .LVU316 1354 .LBE126: 1355 .LBE125: 1356 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3202: * 3202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tmp = (uint8_t)(data & 0xFFU); 1357 .loc 6 3202 14 view .LVU317 1358 0024 03F8042C strb r2, [r3, #-4] @ _87, MEM[(uint8_t *)_101 + 4294967292B] 1359 .LVL69: 1360 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3205: * 3203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 3204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 3205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tmp = (uint8_t)((data >> 8U) & 0xFFU); 1361 .loc 6 3205 30 view .LVU318 1362 0028 160A lsrs r6, r2, #8 @ _76, _87, 1363 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3205: * 1364 .loc 6 3205 14 view .LVU319 1365 002a 03F8036C strb r6, [r3, #-3] @ _76, MEM[(uint8_t *)_101 + 4294967293B] 1366 .LVL70: 1367 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3208: * 3206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 3207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 3208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tmp = (uint8_t)((data >> 16U) & 0xFFU); 1368 .loc 6 3208 30 view .LVU320 1369 002e 160C lsrs r6, r2, #16 @ _78, _87, 1370 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3211: * 3209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 3210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 3211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** *tmp = (uint8_t)((data >> 24U) & 0xFFU); 1371 .loc 6 3211 30 view .LVU321 1372 0030 120E lsrs r2, r2, #24 @ _80, _87, 1373 .LVL71: ARM GAS /tmp/ccJhhmLc.s page 127 1374 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3208: * 3208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 1375 .loc 6 3208 14 view .LVU322 1376 0032 03F8026C strb r6, [r3, #-2] @ _78, MEM[(uint8_t *)_101 + 4294967294B] 1377 .LVL72: 1378 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3211: * 1379 .loc 6 3211 14 view .LVU323 1380 0036 03F8012C strb r2, [r3, #-1] @ _80, MEM[(uint8_t *)_101 + 4294967295B] 1381 .LVL73: 1382 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3199: for 3199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1383 .loc 6 3199 27 discriminator 1 view .LVU324 1384 003a 0433 adds r3, r3, #4 @ ivtmp.44, ivtmp.44, 1385 .LVL74: 3199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1386 .loc 6 3199 27 discriminator 1 view .LVU325 1387 003c AB42 cmp r3, r5 @ ivtmp.44, _204 1388 003e EED1 bne .L112 @, 1389 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3216: hsd 3212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 3213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 3214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->pRxBuffPtr = tmp; 1390 .loc 6 3216 21 view .LVU326 1391 0040 2031 adds r1, r1, #32 @ tmp_91, tmp, 1392 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3217: hsd 3217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->RxXferSize = dataremaining; 1393 .loc 6 3217 21 view .LVU327 1394 0042 2038 subs r0, r0, #32 @ dataremaining_92, dataremaining, 1395 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3216: hsd 3216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->RxXferSize = dataremaining; 1396 .loc 6 3216 21 view .LVU328 1397 0044 A162 str r1, [r4, #40] @ tmp_91, MEM[(struct SD_HandleTypeDef *)&sdio].pRxBuffPtr 1398 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3217: hsd 1399 .loc 6 3217 21 view .LVU329 1400 0046 E062 str r0, [r4, #44] @ dataremaining_92, MEM[(struct SD_HandleTypeDef *)&sdio].RxXferSize 1401 .LVL75: 1402 .L108: 1403 .loc 6 3217 21 view .LVU330 1404 .LBE124: 1405 .LBE123: 1406 .LBE122: 1407 .LBE159: 1408 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:649: } 649:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1409 .loc 4 649 1 view .LVU331 1410 0048 70BD pop {r4, r5, r6, pc} @ 1411 .LVL76: 1412 .L109: 1413 .LBB160: 1414 .LBB157: 1415 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1520: else 1520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1416 .loc 6 1520 11 view .LVU332 1417 004a 6B6B ldr r3, [r5, #52] @ _8, _4->STA 1418 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1520: else ARM GAS /tmp/ccJhhmLc.s page 128 1520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1419 .loc 6 1520 10 view .LVU333 1420 004c DA05 lsls r2, r3, #23 @, _8, 1421 004e 41D5 bpl .L113 @, 1422 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1522: __H 1522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1423 .loc 6 1522 5 view .LVU334 1424 0050 4FF48073 mov r3, #256 @ tmp225, 1425 0054 AB63 str r3, [r5, #56] @ tmp225, _4->ICR 1426 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1525: __H 1525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR | SDIO_IT_RXOVERR | SDIO_IT_TXFIFOHE |\ 1427 .loc 6 1525 5 view .LVU335 1428 0056 EB6B ldr r3, [r5, #60] @ _10, _4->MASK 1429 0058 23F44343 bic r3, r3, #49920 @ _11, _10, 1430 005c 23F03A03 bic r3, r3, #58 @ _11, _11, 1431 0060 EB63 str r3, [r5, #60] @ _11, _4->MASK 1432 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1534: hsd 1534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1433 .loc 6 1534 18 view .LVU336 1434 0062 EB6A ldr r3, [r5, #44] @ _12, _4->DCTRL 1435 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1534: hsd 1534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1436 .loc 6 1534 26 view .LVU337 1437 0064 23F00103 bic r3, r3, #1 @ _13, _12, 1438 0068 EB62 str r3, [r5, #44] @ _13, _4->DCTRL 1439 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1536: if( 1536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1440 .loc 6 1536 7 view .LVU338 1441 006a 3307 lsls r3, r6, #28 @, context, 1442 006c 19D5 bpl .L114 @, 1443 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1538: i 1538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1444 .loc 6 1538 9 view .LVU339 1445 006e 16F0220F tst r6, #34 @ context, 1446 0072 09D0 beq .L116 @, 1447 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1540: 1540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1448 .loc 6 1540 22 view .LVU340 1449 0074 2846 mov r0, r5 @, _4 1450 0076 FFF7FEFF bl SDMMC_CmdStopTransfer @ 1451 .LVL77: 1452 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1541: 1541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1453 .loc 6 1541 11 view .LVU341 1454 007a 28B1 cbz r0, .L116 @ errorstate, 1455 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1543: 1543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1456 .loc 6 1543 14 view .LVU342 1457 007c A36B ldr r3, [r4, #56] @ _17, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1458 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1543: 1543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1459 .loc 6 1543 26 view .LVU343 1460 007e 1843 orrs r0, r0, r3 @, _18, errorstate, _17 1461 .LVL78: 1462 .LBB127: 1463 .LBB128: 1464 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:610: WriteStatus = 2; ARM GAS /tmp/ccJhhmLc.s page 129 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1465 .loc 4 610 15 view .LVU344 1466 0080 554B ldr r3, .L187+4 @ tmp231, 1467 .LBE128: 1468 .LBE127: 1469 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1543: 1543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1470 .loc 6 1543 26 view .LVU345 1471 0082 A063 str r0, [r4, #56] @ _18, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1472 .LBB130: 1473 .LBI127: 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1474 .loc 4 607 17 is_stmt 1 view .LVU346 1475 .LVL79: 1476 .LBB129: 1477 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:610: WriteStatus = 2; 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1478 .loc 4 610 15 is_stmt 0 view .LVU347 1479 0084 0222 movs r2, #2 @ tmp232, 1480 0086 1A60 str r2, [r3] @ tmp232, WriteStatus 1481 .LVL80: 1482 .L116: 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1483 .loc 4 610 15 view .LVU348 1484 .LBE129: 1485 .LBE130: 1486 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1553: _ 1553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1487 .loc 6 1553 7 view .LVU349 1488 0088 40F23A53 movw r3, #1338 @ tmp233, 1489 008c AB63 str r3, [r5, #56] @ tmp233, _4->ICR 1490 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1556: h 1556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_B 1491 .loc 6 1556 20 view .LVU350 1492 008e 0022 movs r2, #0 @ tmp238, 1493 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1555: h 1555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1494 .loc 6 1555 18 view .LVU351 1495 0090 0123 movs r3, #1 @ tmp235, 1496 0092 84F83430 strb r3, [r4, #52] @ tmp235, MEM[(struct SD_HandleTypeDef *)&sdio].State 1497 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1556: h 1556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_B 1498 .loc 6 1556 20 view .LVU352 1499 0096 2263 str r2, [r4, #48] @ tmp238, MEM[(struct SD_HandleTypeDef *)&sdio].Context 1500 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1557: i 1557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1501 .loc 6 1557 9 view .LVU353 1502 0098 B407 lsls r4, r6, #30 @, context, 1503 009a 19D0 beq .L186 @, 1504 .LBB131: 1505 .LBI131: 625:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1506 .loc 4 625 17 is_stmt 1 view .LVU354 1507 .LVL81: 1508 .LBB132: 1509 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:628: ReadStatus = 1; 628:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } ARM GAS /tmp/ccJhhmLc.s page 130 1510 .loc 4 628 14 is_stmt 0 view .LVU355 1511 009c 4F4A ldr r2, .L187+8 @ tmp240, 1512 .LVL82: 1513 .L182: 628:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1514 .loc 4 628 14 view .LVU356 1515 .LBE132: 1516 .LBE131: 1517 .LBB133: 1518 .LBB134: 1519 .LBB135: 1520 .LBB136: 1521 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:594: __H 1522 .file 9 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @file stm32f4xx_hal_dma.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This file provides firmware functions to manage the following 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * functionalities of the Direct Memory Access (DMA) peripheral: 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Initialization and de-initialization functions 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + IO operation functions 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Peripheral State and errors functions 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ============================================================================== 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### How to use this driver ##### 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ============================================================================== 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Enable and configure the peripheral to be connected to the DMA Stream 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (except for internal SRAM/FLASH memories: no initialization is 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** necessary) please refer to Reference manual for connection between peripherals 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and DMA requests. 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) For a given Stream, program the required configuration through the following parameters: 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Transfer Direction, Source and Destination data formats, 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Circular, Normal or peripheral flow control mode, Stream Priority level, 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source and Destination Increment mode, FIFO mode and its Threshold (if needed), 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Burst mode for Source and/or Destination (if needed) using HAL_DMA_Init() function. 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- Prior to HAL_DMA_Init() the clock must be enabled for DMA through the following macros: 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_RCC_DMA1_CLK_ENABLE() or __HAL_RCC_DMA2_CLK_ENABLE(). 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** Polling mode IO operation *** 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ================================= 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** address and destination address and the Length of data to be transferred. 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case a fixed Timeout can be configured by User depending from his application. 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Abort() function to abort the current transfer. 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** Interrupt mode IO operation *** 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =================================== 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority() ARM GAS /tmp/ccJhhmLc.s page 131 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ() 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source address and destination address and the Length of data to be transferred. In t 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case the DMA interrupt is configured 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** add his own function by customization of function pointer XferCpltCallback and 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** XferErrorCallback (i.e a member of DMA handle structure). 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** detection. 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Use HAL_DMA_Abort_IT() function to abort the current transfer 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- In Memory-to-Memory transfer mode, Circular mode is not allowed. 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- The FIFO is used mainly to reduce bus usage and to allow data packing/unpacking: it is 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** possible to set different Data Sizes for the Peripheral and the Memory (ie. you can set 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Half-Word data size for the peripheral to access its data register and set Word data siz 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** for the Memory to gain in access time. Each two half words will be packed and written in 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** a single access to a Word in the Memory). 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- When FIFO is disabled, it is not allowed to configure different Data Sizes for Source 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and Destination. In this case the Peripheral Data Size will be applied to both Source 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and Destination. 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** DMA HAL driver macros list *** 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ============================================= 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Below the list of most used macros in DMA HAL driver. 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_ENABLE: Enable the specified DMA Stream. 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_DISABLE: Disable the specified DMA Stream. 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_GET_IT_SOURCE: Check whether the specified DMA Stream interrupt has occurred or 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (@) You can refer to the DMA HAL driver header file for more useful macros 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ****************************************************************************** 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @attention 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *

© Copyright (c) 2017 STMicroelectronics. 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * All rights reserved.

88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This software component is licensed by ST under BSD 3-Clause license, 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the "License"; You may not use this file except in compliance with the 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * License. You may obtain a copy of the License at: 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * opensource.org/licenses/BSD-3-Clause 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ****************************************************************************** 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Includes ------------------------------------------------------------------*/ 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #include "stm32f4xx_hal.h" 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup STM32F4xx_HAL_Driver ARM GAS /tmp/ccJhhmLc.s page 132 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @defgroup DMA DMA 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #ifdef HAL_DMA_MODULE_ENABLED 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private types -------------------------------------------------------------*/ 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** typedef struct 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t ISR; /*!< DMA interrupt status register */ 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t Reserved0; 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t IFCR; /*!< DMA interrupt flag clear register */ 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } DMA_Base_Registers; 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private variables ---------------------------------------------------------*/ 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private constants ---------------------------------------------------------*/ 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Constants 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #define HAL_TIMEOUT_DMA_ABORT 5U /* 5 ms */ 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private macros ------------------------------------------------------------*/ 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private functions ---------------------------------------------------------*/ 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma); 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma); 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Exported functions ---------------------------------------------------------*/ 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group1 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### Initialization and de-initialization functions ##### 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** This section provides functions allowing to initialize the DMA Stream source 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and destination addresses, incrementation and data sizes, transfer direction, 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** circular/normal mode selection, memory-to-memory mode selection and Stream priority value. 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** The HAL_DMA_Init() function follows the DMA configuration procedures as described in ARM GAS /tmp/ccJhhmLc.s page 133 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** reference manual. 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Initialize the DMA according to the specified 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * parameters in the DMA_InitTypeDef and create the associated handle. 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma) 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = 0U; 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */ 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma == NULL) 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */ 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_CHANNEL(hdma->Init.Channel)); 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_DIRECTION(hdma->Init.Direction)); 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc)); 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc)); 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment)); 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment)); 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MODE(hdma->Init.Mode)); 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PRIORITY(hdma->Init.Priority)); 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_MODE_STATE(hdma->Init.FIFOMode)); 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the memory burst, peripheral burst and FIFO threshold parameters only 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** when FIFO mode is enabled */ 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode != DMA_FIFOMODE_DISABLE) 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_THRESHOLD(hdma->Init.FIFOThreshold)); 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst)); 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst)); 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */ 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Allocate lock resource */ 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the peripheral */ 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check if the DMA Stream is effectively disabled */ 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/ccJhhmLc.s page 134 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout */ 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_TIMEOUT; 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the CR register value */ 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp = hdma->Instance->CR; 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR, CT and DBM bits */ 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \ 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \ 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_MINC | DMA_SxCR_PINC | DMA_SxCR_CIRC | \ 235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_DIR | DMA_SxCR_CT | DMA_SxCR_DBM)); 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Prepare the DMA Stream configuration */ 238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.Channel | hdma->Init.Direction | 239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; 242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* the Memory burst and peripheral burst are not used when the FIFO is disabled */ 244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get memory burst and peripheral burst */ 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst; 248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Write to DMA Stream CR register */ 251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR = tmp; 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the FCR register value */ 254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp = hdma->Instance->FCR; 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear Direct mode and FIFO threshold bits */ 257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); 258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Prepare the DMA Stream FIFO configuration */ 260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOMode; 261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* The FIFO threshold is not used when the FIFO mode is disabled */ 263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the FIFO threshold */ 266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOThreshold; 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check compatibility between FIFO threshold level and size of the memory burst */ 269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* for INCR4, INCR8, INCR16 bursts */ 270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst != DMA_MBURST_SINGLE) 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/ccJhhmLc.s page 135 272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (DMA_CheckFifoParam(hdma) != HAL_OK) 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_PARAM; 276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Write to DMA Stream FCR */ 286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR = tmp; 287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize StreamBaseAddress and StreamIndex parameters to be used to calculate 289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA steam Base Address needed by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */ 290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags */ 293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */ 296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the DMA state */ 299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DeInitializes the DMA peripheral 306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma) 311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */ 315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma == NULL) 316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */ 321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State == HAL_DMA_STATE_BUSY) 322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */ 324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_BUSY; 325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */ 328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); ARM GAS /tmp/ccJhhmLc.s page 136 329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the selected DMA Streamx */ 331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx control register */ 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR = 0U; 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx number of data to transfer register */ 337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->NDTR = 0U; 338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx peripheral address register */ 340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = 0U; 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx memory 0 address register */ 343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = 0U; 344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx memory 1 address register */ 346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M1AR = 0U; 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx FIFO control register */ 349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR = 0x00000021U; 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get DMA steam Base Address */ 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clean all callbacks */ 355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL; 356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */ 363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset the error code */ 366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset the DMA state */ 369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_RESET; 370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */ 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group2 382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### IO operation functions ##### ARM GAS /tmp/ccJhhmLc.s page 137 386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] This section provides functions allowing to: 388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the source, destination address and data length and Start DMA transfer 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the source, destination address and data length and 390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Start DMA transfer with interrupt 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Abort DMA transfer 392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Poll for transfer complete 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Handle DMA interrupt request 394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim 396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Starts the DMA Transfer. 401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address 404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */ 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength)); 414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */ 416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma); 417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */ 421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */ 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure the source, destination address and the data length */ 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable the Peripheral */ 430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma); 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process unlocked */ 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */ 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_BUSY; 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/ccJhhmLc.s page 138 443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Start the DMA Transfer with interrupt enabled. 445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddres 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */ 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength)); 461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */ 463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma); 464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */ 468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */ 471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure the source, destination address and the data length */ 474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */ 477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable Common interrupts*/ 480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME; 481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR |= DMA_IT_HT; 485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable the Peripheral */ 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma); 489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process unlocked */ 493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */ 496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_BUSY; 497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; ARM GAS /tmp/ccJhhmLc.s page 139 500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Aborts the DMA Transfer. 504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note After disabling a DMA Stream, a check for wait until the DMA Stream is 508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * effectively disabled is added. If a Stream is disabled 509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * while a data transfer is ongoing, the current data will be transferred 510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * and the Stream will be effectively disabled only after the transfer of 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * this single data is finished. 512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma) 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) 522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable all the transfer interrupts */ 533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT); 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */ 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check if the DMA Stream is effectively disabled */ 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout */ 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_TIMEOUT; 555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ ARM GAS /tmp/ccJhhmLc.s page 140 557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */ 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state*/ 567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Aborts the DMA Transfer in Interrupt mode. 577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma) 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) 584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Set Abort State */ 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_ABORT; 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */ 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 1523 .loc 9 594 5 view .LVU357 1524 009e 1360 str r3, [r2] @ _125,* _123 595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 1525 .loc 9 597 3 is_stmt 1 view .LVU358 1526 00a0 D2E7 b .L108 @ 1527 .LVL83: 1528 .L114: 1529 .loc 9 597 3 is_stmt 0 view .LVU359 1530 .LBE136: 1531 .LBE135: 1532 .LBE134: 1533 .LBE133: 1534 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1574: els 1574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1535 .loc 6 1574 12 view .LVU360 1536 00a2 3006 lsls r0, r6, #24 @, context, 1537 00a4 D0D5 bpl .L108 @, ARM GAS /tmp/ccJhhmLc.s page 141 1538 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1576: i 1576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1539 .loc 6 1576 9 view .LVU361 1540 00a6 B106 lsls r1, r6, #26 @, context, 1541 00a8 09D5 bpl .L121 @, 1542 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1578: 1578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if(errorstate != HAL_SD_ERROR_NONE) 1543 .loc 6 1578 22 view .LVU362 1544 00aa 2846 mov r0, r5 @, _4 1545 00ac FFF7FEFF bl SDMMC_CmdStopTransfer @ 1546 .LVL84: 1547 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1579: 1579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1548 .loc 6 1579 11 view .LVU363 1549 00b0 28B1 cbz r0, .L121 @ errorstate, 1550 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1581: 1581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1551 .loc 6 1581 14 view .LVU364 1552 00b2 A36B ldr r3, [r4, #56] @ _24, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1553 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1581: 1581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1554 .loc 6 1581 26 view .LVU365 1555 00b4 1843 orrs r0, r0, r3 @, _25, errorstate, _24 1556 .LVL85: 1557 .LBB142: 1558 .LBB143: 1559 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:610: WriteStatus = 2; 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1560 .loc 4 610 15 view .LVU366 1561 00b6 484B ldr r3, .L187+4 @ tmp248, 1562 .LBE143: 1563 .LBE142: 1564 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1581: 1581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1565 .loc 6 1581 26 view .LVU367 1566 00b8 A063 str r0, [r4, #56] @ _25, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1567 .LBB145: 1568 .LBI142: 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1569 .loc 4 607 17 is_stmt 1 view .LVU368 1570 .LVL86: 1571 .LBB144: 1572 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:610: WriteStatus = 2; 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1573 .loc 4 610 15 is_stmt 0 view .LVU369 1574 00ba 0222 movs r2, #2 @ tmp249, 1575 00bc 1A60 str r2, [r3] @ tmp249, WriteStatus 1576 .LVL87: 1577 .L121: 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1578 .loc 4 610 15 view .LVU370 1579 .LBE144: 1580 .LBE145: 1581 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1589: i 1589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1582 .loc 6 1589 9 view .LVU371 1583 00be B207 lsls r2, r6, #30 @, context, ARM GAS /tmp/ccJhhmLc.s page 142 1584 00c0 C2D1 bne .L108 @, 1585 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1593: 1593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1586 .loc 6 1593 22 view .LVU372 1587 00c2 EB6A ldr r3, [r5, #44] @ _28, _4->DCTRL 1588 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1593: 1593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1589 .loc 6 1593 30 view .LVU373 1590 00c4 23F00803 bic r3, r3, #8 @ _29, _28, 1591 00c8 EB62 str r3, [r5, #44] @ _29, _4->DCTRL 1592 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1595: 1595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1593 .loc 6 1595 20 view .LVU374 1594 00ca 0123 movs r3, #1 @ tmp252, 1595 00cc 84F83430 strb r3, [r4, #52] @ tmp252, MEM[(struct SD_HandleTypeDef *)&sdio].State 1596 .L186: 1597 .LBB146: 1598 .LBI146: 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1599 .loc 4 613 17 is_stmt 1 view .LVU375 1600 .LVL88: 1601 .LBB147: 1602 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:616: WriteStatus = 1; 616:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1603 .loc 4 616 15 is_stmt 0 view .LVU376 1604 00d0 414A ldr r2, .L187+4 @ tmp254, 1605 00d2 E4E7 b .L182 @ 1606 .LVL89: 1607 .L113: 616:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1608 .loc 4 616 15 view .LVU377 1609 .LBE147: 1610 .LBE146: 1611 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1610: else 1610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1612 .loc 6 1610 12 view .LVU378 1613 00d4 6B6B ldr r3, [r5, #52] @ _30, _4->STA 1614 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1610: else 1610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1615 .loc 6 1610 10 view .LVU379 1616 00d6 5B04 lsls r3, r3, #17 @, _30, 1617 00d8 11D5 bpl .L123 @, 1618 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1610: else 1610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1619 .loc 6 1610 65 discriminator 1 view .LVU380 1620 00da 3007 lsls r0, r6, #28 @, context, 1621 00dc 0FD5 bpl .L123 @, 1622 .LBB148: 1623 .LBI148: 3218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /** 3222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @brief Wrap up writing in non-blocking mode. 3223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @param hsd: pointer to a SD_HandleTypeDef structure that contains 3224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * the configuration information. 3225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** * @retval None ARM GAS /tmp/ccJhhmLc.s page 143 3226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** */ 3227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** static void SD_Write_IT(SD_HandleTypeDef *hsd) 1624 .loc 6 3227 13 is_stmt 1 view .LVU381 1625 .LVL90: 1626 .LBB149: 1627 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3233: datar 3228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint32_t count, data, dataremaining; 3230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** uint8_t* tmp; 3231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp = hsd->pTxBuffPtr; 3233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining = hsd->TxXferSize; 1628 .loc 6 3233 17 is_stmt 0 view .LVU382 1629 00de 626A ldr r2, [r4, #36] @ dataremaining, MEM[(struct SD_HandleTypeDef *)&sdio].TxXferSize 1630 .LVL91: 1631 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3235: if (d 3234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** if (dataremaining > 0U) 1632 .loc 6 3235 6 view .LVU383 1633 00e0 002A cmp r2, #0 @ dataremaining 1634 00e2 B1D0 beq .L108 @ 1635 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3232: tmp = 3232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining = hsd->TxXferSize; 1636 .loc 6 3232 7 view .LVU384 1637 00e4 236A ldr r3, [r4, #32] @ tmp, MEM[(struct SD_HandleTypeDef *)&sdio].pTxBuffPtr 1638 00e6 03F12001 add r1, r3, #32 @ _203, tmp, 1639 .LVL92: 1640 .L124: 1641 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3249: d 3236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Write data to SDIO Tx FIFO */ 3238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** for(count = 0U; count < 8U; count++) 3239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 3240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data = (uint32_t)(*tmp); 3241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 3242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 3243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 8U); 3244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 3245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 3246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 16U); 3247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 3248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 3249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** data |= ((uint32_t)(*tmp) << 24U); 1642 .loc 6 3249 12 view .LVU385 1643 00ea 53F8040B ldr r0, [r3], #4 @ unaligned @ tmp260, MEM [(uint8_t *)tmp_27] 1644 .LVL93: 1645 .LBB150: 1646 .LBI150: 269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Write data (word) to Tx FIFO in blocking mode (polling) 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param pWriteData: pointer to data to write 275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** HAL_StatusTypeDef SDIO_WriteFIFO(SDIO_TypeDef *SDIOx, uint32_t *pWriteData) ARM GAS /tmp/ccJhhmLc.s page 144 1647 .loc 8 277 19 is_stmt 1 view .LVU386 1648 .LBB151: 1649 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:280: SDIO 278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Write data to FIFO */ 280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIOx->FIFO = *pWriteData; 1650 .loc 8 280 15 is_stmt 0 view .LVU387 1651 00ee C5F88000 str r0, [r5, #128] @ tmp260, _4->FIFO 1652 .LVL94: 1653 .loc 8 280 15 view .LVU388 1654 .LBE151: 1655 .LBE150: 1656 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3238: for 3238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1657 .loc 6 3238 27 discriminator 1 view .LVU389 1658 00f2 8B42 cmp r3, r1 @ tmp, _203 1659 00f4 F9D1 bne .L124 @, 1660 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3256: hsd 3250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** tmp++; 3251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** dataremaining--; 3252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** (void)SDIO_WriteFIFO(hsd->Instance, &data); 3253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 3254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 3255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->pTxBuffPtr = tmp; 3256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->TxXferSize = dataremaining; 1661 .loc 6 3256 21 view .LVU390 1662 00f6 203A subs r2, r2, #32 @ dataremaining_95, dataremaining, 1663 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3255: hsd 3255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->TxXferSize = dataremaining; 1664 .loc 6 3255 21 view .LVU391 1665 00f8 2362 str r3, [r4, #32] @ tmp, MEM[(struct SD_HandleTypeDef *)&sdio].pTxBuffPtr 1666 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:3256: hsd 1667 .loc 6 3256 21 view .LVU392 1668 00fa 6262 str r2, [r4, #36] @ dataremaining_95, MEM[(struct SD_HandleTypeDef *)&sdio].TxXferSize 1669 00fc A4E7 b .L108 @ 1670 .LVL95: 1671 .L123: 1672 .loc 6 3256 21 view .LVU393 1673 .LBE149: 1674 .LBE148: 1675 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1616: else 1616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1676 .loc 6 1616 11 view .LVU394 1677 00fe 6A6B ldr r2, [r5, #52] @ _33, _4->STA 1678 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1616: else 1616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 1679 .loc 6 1616 10 view .LVU395 1680 0100 40F23A23 movw r3, #570 @ tmp264, 1681 0104 1A42 tst r2, r3 @ _33, tmp264 1682 0106 9FD0 beq .L108 @, 1683 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1622: if( 1622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1684 .loc 6 1622 8 view .LVU396 1685 0108 6B6B ldr r3, [r5, #52] @ _35, _4->STA 1686 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1622: if( 1622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1687 .loc 6 1622 7 view .LVU397 ARM GAS /tmp/ccJhhmLc.s page 145 1688 010a 9907 lsls r1, r3, #30 @, _35, 1689 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1624: h 1624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1690 .loc 6 1624 10 view .LVU398 1691 010c 42BF ittt mi 1692 010e A36B ldrmi r3, [r4, #56] @ _37, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1693 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1624: h 1624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1694 .loc 6 1624 22 view .LVU399 1695 0110 43F00203 orrmi r3, r3, #2 @ _38, _37, 1696 0114 A363 strmi r3, [r4, #56] @ _38, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1697 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1626: if( 1626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1698 .loc 6 1626 8 view .LVU400 1699 0116 6B6B ldr r3, [r5, #52] @ _39, _4->STA 1700 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1626: if( 1626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1701 .loc 6 1626 7 view .LVU401 1702 0118 1A07 lsls r2, r3, #28 @, _39, 1703 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1628: h 1628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1704 .loc 6 1628 10 view .LVU402 1705 011a 42BF ittt mi 1706 011c A36B ldrmi r3, [r4, #56] @ _41, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1707 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1628: h 1628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1708 .loc 6 1628 22 view .LVU403 1709 011e 43F00803 orrmi r3, r3, #8 @ _42, _41, 1710 0122 A363 strmi r3, [r4, #56] @ _42, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1711 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1630: if( 1630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1712 .loc 6 1630 8 view .LVU404 1713 0124 6B6B ldr r3, [r5, #52] @ _43, _4->STA 1714 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1630: if( 1630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1715 .loc 6 1630 7 view .LVU405 1716 0126 9B06 lsls r3, r3, #26 @, _43, 1717 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1632: h 1632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1718 .loc 6 1632 10 view .LVU406 1719 0128 42BF ittt mi 1720 012a A36B ldrmi r3, [r4, #56] @ _45, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1721 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1632: h 1632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1722 .loc 6 1632 22 view .LVU407 1723 012c 43F02003 orrmi r3, r3, #32 @ _46, _45, 1724 0130 A363 strmi r3, [r4, #56] @ _46, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1725 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1634: if( 1634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1726 .loc 6 1634 8 view .LVU408 1727 0132 6B6B ldr r3, [r5, #52] @ _47, _4->STA 1728 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1634: if( 1634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1729 .loc 6 1634 7 view .LVU409 1730 0134 D806 lsls r0, r3, #27 @, _47, 1731 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1636: h 1636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } ARM GAS /tmp/ccJhhmLc.s page 146 1732 .loc 6 1636 10 view .LVU410 1733 0136 42BF ittt mi 1734 0138 A36B ldrmi r3, [r4, #56] @ _49, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1735 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1636: h 1636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1736 .loc 6 1636 22 view .LVU411 1737 013a 43F01003 orrmi r3, r3, #16 @ _50, _49, 1738 013e A363 strmi r3, [r4, #56] @ _50, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1739 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1639: if( 1639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1740 .loc 6 1639 8 view .LVU412 1741 0140 6B6B ldr r3, [r5, #52] @ _51, _4->STA 1742 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1639: if( 1639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1743 .loc 6 1639 7 view .LVU413 1744 0142 9905 lsls r1, r3, #22 @, _51, 1745 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1641: h 1641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1746 .loc 6 1641 10 view .LVU414 1747 0144 42BF ittt mi 1748 0146 A36B ldrmi r3, [r4, #56] @ _53, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1749 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1641: h 1641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1750 .loc 6 1641 22 view .LVU415 1751 0148 43F00803 orrmi r3, r3, #8 @ _54, _53, 1752 014c A363 strmi r3, [r4, #56] @ _54, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1753 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1647: __H 1647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1754 .loc 6 1647 5 view .LVU416 1755 014e 40F23A73 movw r3, #1850 @ tmp281, 1756 0152 AB63 str r3, [r5, #56] @ tmp281, _4->ICR 1757 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1650: __H 1650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** SDIO_IT_TXUNDERR| SDIO_IT_RXOVERR | SDIO_IT_STBITERR); 1758 .loc 6 1650 5 view .LVU417 1759 0154 EB6B ldr r3, [r5, #60] @ _55, _4->MASK 1760 0156 23F44E73 bic r3, r3, #824 @ _56, _55, 1761 015a 23F00203 bic r3, r3, #2 @ _56, _56, 1762 015e EB63 str r3, [r5, #60] @ _56, _4->MASK 1763 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1661: hsd 1661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1764 .loc 6 1661 23 view .LVU418 1765 0160 2846 mov r0, r5 @, _4 1766 0162 FFF7FEFF bl SDMMC_CmdStopTransfer @ 1767 .LVL96: 1768 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1661: hsd 1661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1769 .loc 6 1661 8 discriminator 1 view .LVU419 1770 0166 A36B ldr r3, [r4, #56] @ _58, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1771 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1663: if( 1663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1772 .loc 6 1663 7 view .LVU420 1773 0168 3207 lsls r2, r6, #28 @, context, 1774 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1661: hsd 1661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 1775 .loc 6 1661 20 discriminator 1 view .LVU421 1776 016a 40EA0300 orr r0, r0, r3 @ _59, tmp324, _58 1777 016e A063 str r0, [r4, #56] @ _59, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode ARM GAS /tmp/ccJhhmLc.s page 147 1778 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1663: if( 1663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1779 .loc 6 1663 7 view .LVU422 1780 0170 08D5 bpl .L130 @, 1781 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1666: h 1666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1782 .loc 6 1666 18 view .LVU423 1783 0172 0123 movs r3, #1 @ tmp287, 1784 0174 84F83430 strb r3, [r4, #52] @ tmp287, MEM[(struct SD_HandleTypeDef *)&sdio].State 1785 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1667: h 1667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1786 .loc 6 1667 20 view .LVU424 1787 0178 0023 movs r3, #0 @ tmp290, 1788 017a 2363 str r3, [r4, #48] @ tmp290, MEM[(struct SD_HandleTypeDef *)&sdio].Context 1789 .LBB152: 1790 .LBI152: 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1791 .loc 4 607 17 is_stmt 1 view .LVU425 1792 .LVL97: 1793 .LBB153: 1794 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:610: WriteStatus = 2; 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 1795 .loc 4 610 15 is_stmt 0 view .LVU426 1796 017c 164B ldr r3, .L187+4 @ tmp291, 1797 017e 0222 movs r2, #2 @ tmp292, 1798 0180 1A60 str r2, [r3] @ tmp292, WriteStatus 1799 .LVL98: 1800 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:611: } 611:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 1801 .loc 4 611 1 view .LVU427 1802 0182 61E7 b .L108 @ 1803 .L130: 1804 .LBE153: 1805 .LBE152: 1806 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1674: els 1674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1807 .loc 6 1674 12 view .LVU428 1808 0184 3306 lsls r3, r6, #24 @, context, 1809 0186 7FF55FAF bpl .L108 @, 1810 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1677: i 1677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1811 .loc 6 1677 9 view .LVU429 1812 018a 16F0300F tst r6, #48 @ context, 1813 018e 0CD0 beq .L131 @, 1814 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1680: 1680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort DMA in IT mode */ 1815 .loc 6 1680 12 view .LVU430 1816 0190 E06B ldr r0, [r4, #60] @ _63, MEM[(struct SD_HandleTypeDef *)&sdio].hdmatx 1817 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1680: 1680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort DMA in IT mode */ 1818 .loc 6 1680 40 view .LVU431 1819 0192 134B ldr r3, .L187+12 @ tmp296, 1820 .LVL99: 1821 .L185: 1822 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1690: 1690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort DMA in IT mode */ 1823 .loc 6 1690 40 view .LVU432 ARM GAS /tmp/ccJhhmLc.s page 148 1824 0194 0365 str r3, [r0, #80] @ tmp305, 1825 .LVL100: 1826 .LBB154: 1827 .LBI133: 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1828 .loc 9 581 19 is_stmt 1 view .LVU433 1829 .LBB139: 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1830 .loc 9 583 3 view .LVU434 1831 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:583: if(hd 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1832 .loc 9 583 10 is_stmt 0 view .LVU435 1833 0196 90F83530 ldrb r3, [r0, #53] @ zero_extendqisi2 @ _67->State, 1834 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:583: if(hd 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1835 .loc 9 583 5 view .LVU436 1836 019a 022B cmp r3, #2 @ _67->State, 1837 019c 0BD0 beq .L134 @, 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1838 .loc 9 585 5 is_stmt 1 view .LVU437 1839 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:585: hdm 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1840 .loc 9 585 21 is_stmt 0 view .LVU438 1841 019e 8023 movs r3, #128 @ tmp309, 1842 .LBE139: 1843 .LBE154: 1844 .LBE157: 1845 .LBE160: 1846 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:649: } 1847 .loc 4 649 1 view .LVU439 1848 01a0 BDE87040 pop {r4, r5, r6, lr} @ 1849 .LCFI10: 1850 .cfi_remember_state 1851 .cfi_restore 14 1852 .cfi_restore 6 1853 .cfi_restore 5 1854 .cfi_restore 4 1855 .cfi_def_cfa_offset 0 1856 .LBB161: 1857 .LBB158: 1858 .LBB155: 1859 .LBB140: 1860 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:585: hdm 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1861 .loc 9 585 21 view .LVU440 1862 01a4 4365 str r3, [r0, #84] @ tmp309, 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1863 .loc 9 586 5 is_stmt 1 view .LVU441 1864 .LVL101: 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1865 .loc 9 586 5 is_stmt 0 view .LVU442 1866 .LBE140: 1867 .LBE155: 1868 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1694: 1694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 1869 .loc 6 1694 11 view .LVU443 1870 01a6 FFF7FEBF b SD_DMATxAbort.lto_priv.0 @ ARM GAS /tmp/ccJhhmLc.s page 149 1871 .LVL102: 1872 .L131: 1873 .LCFI11: 1874 .cfi_restore_state 1875 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1687: e 1687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1876 .loc 6 1687 14 view .LVU444 1877 01aa 16F00306 ands r6, r6, #3 @ _66, context, 1878 .LVL103: 1687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 1879 .loc 6 1687 14 view .LVU445 1880 01ae 0AD0 beq .L133 @, 1881 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1690: 1690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort DMA in IT mode */ 1882 .loc 6 1690 12 view .LVU446 1883 01b0 206C ldr r0, [r4, #64] @ _67, MEM[(struct SD_HandleTypeDef *)&sdio].hdmarx 1884 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1690: 1690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** /* Abort DMA in IT mode */ 1885 .loc 6 1690 40 view .LVU447 1886 01b2 0C4B ldr r3, .L187+16 @ tmp305, 1887 01b4 EEE7 b .L185 @ 1888 .LVL104: 1889 .L134: 1890 .LBB156: 1891 .LBB141: 1892 .LBB138: 1893 .LBI135: 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1894 .loc 9 581 19 is_stmt 1 view .LVU448 1895 .LBB137: 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1896 .loc 9 591 5 view .LVU449 1897 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:591: hdm 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1898 .loc 9 591 17 is_stmt 0 view .LVU450 1899 01b6 0523 movs r3, #5 @ tmp310, 1900 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:594: __H 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1901 .loc 9 594 5 view .LVU451 1902 01b8 0268 ldr r2, [r0] @ _123,* _67 1903 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:591: hdm 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1904 .loc 9 591 17 view .LVU452 1905 01ba 80F83530 strb r3, [r0, #53] @ tmp310, 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1906 .loc 9 594 5 is_stmt 1 view .LVU453 1907 01be 1368 ldr r3, [r2] @ _124,* _123 1908 01c0 23F00103 bic r3, r3, #1 @ _125, _124, 1909 01c4 6BE7 b .L182 @ 1910 .LVL105: 1911 .L133: 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1912 .loc 9 594 5 is_stmt 0 view .LVU454 1913 .LBE137: 1914 .LBE138: 1915 .LBE141: 1916 .LBE156: ARM GAS /tmp/ccJhhmLc.s page 150 1917 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1700: 1700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1918 .loc 6 1700 20 view .LVU455 1919 01c6 0123 movs r3, #1 @ tmp315, 1920 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1699: 1699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 1921 .loc 6 1699 24 view .LVU456 1922 01c8 A663 str r6, [r4, #56] @ _66, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 1923 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1700: 1700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 1924 .loc 6 1700 20 view .LVU457 1925 01ca 84F83430 strb r3, [r4, #52] @ tmp315, MEM[(struct SD_HandleTypeDef *)&sdio].State 1926 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1701: 1701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1927 .loc 6 1701 22 view .LVU458 1928 01ce 2663 str r6, [r4, #48] @ _66, MEM[(struct SD_HandleTypeDef *)&sdio].Context 1929 .LVL106: 1701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) 1930 .loc 6 1701 22 view .LVU459 1931 .LBE158: 1932 .LBE161: 1933 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:649: } 1934 .loc 4 649 1 view .LVU460 1935 01d0 3AE7 b .L108 @ 1936 .L188: 1937 01d2 00BF .align 2 1938 .L187: 1939 01d4 00000000 .word _ZL4sdio.lto_priv.0 1940 01d8 00000000 .word _ZL11WriteStatus.lto_priv.0 1941 01dc 00000000 .word _ZL10ReadStatus.lto_priv.0 1942 01e0 00000000 .word SD_DMATxAbort.lto_priv.0 1943 01e4 00000000 .word SD_DMARxAbort.lto_priv.0 1944 .cfi_endproc 1945 .LFE29: 1946 .size SDIO_IRQHandler, .-SDIO_IRQHandler 1947 .section .text.DMA2_Stream3_IRQHandler,"ax",%progbits 1948 .align 1 1949 .global DMA2_Stream3_IRQHandler 1950 .syntax unified 1951 .thumb 1952 .thumb_func 1953 .type DMA2_Stream3_IRQHandler, %function 1954 DMA2_Stream3_IRQHandler: 1955 .LFB49: 650:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #endif 651:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if defined(SD_SDIO_DMA) 652:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** extern "C" void SD_SDIO_DMA_IRQHANDLER(void) 653:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** { 1956 .loc 4 653 1 is_stmt 1 view -0 1957 .cfi_startproc 1958 @ args = 0, pretend = 0, frame = 8 1959 @ frame_needed = 0, uses_anonymous_args = 0 654:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DEBUG_INTERRUPT(INT_SDIO_DMA); 1960 .loc 4 654 32 view .LVU462 655:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** HAL_DMA_IRQHandler(&sdioTxDma); 1961 .loc 4 655 3 view .LVU463 1962 .LBB164: ARM GAS /tmp/ccJhhmLc.s page 151 1963 .LBI164: 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Polling for transfer complete. 602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CompleteLevel Specifies the DMA level complete. 605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note The polling mode is kept in this version for legacy. it is recommanded to use the IT mo 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This model could be used for debug purpose. 607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note The HAL_DMA_PollForTransfer API cannot be used in circular and double buffering mode (a 608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param Timeout Timeout duration. 609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_DMA_LevelCompleteTypeDef Com 612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t mask_cpltlevel; 615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr; 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State) 622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* No transfer ongoing */ 624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Polling mode not supported in circular mode and double buffering mode */ 630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) != RESET) 631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; 633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the level transfer complete flag */ 637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(CompleteLevel == HAL_DMA_FULL_TRANSFER) 638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Complete flag */ 640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** mask_cpltlevel = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; 641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half Transfer Complete flag */ 645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** mask_cpltlevel = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; 646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while(((tmpisr & mask_cpltlevel) == RESET) && ((hdma->ErrorCode & HAL_DMA_ERROR_TE) == RESET)) 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout (Not applicable in circular mode)*/ ARM GAS /tmp/ccJhhmLc.s page 152 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(Timeout != HAL_MAX_DELAY) 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) 657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the ISR register value */ 672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_TE; 678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer error flag */ 680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) 684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_FE; 687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the FIFO error flag */ 689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; 690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_DME; 696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the Direct Mode error flag */ 698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; 699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) 703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) 705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_DMA_Abort(hdma); 707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */ 709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex; 710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/ccJhhmLc.s page 153 711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State= HAL_DMA_STATE_READY; 713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the level transfer complete flag */ 722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(CompleteLevel == HAL_DMA_FULL_TRANSFER) 723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */ 725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex; 726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */ 735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4) << hdma->StreamIndex; 736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Handles DMA interrupt request. 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval None 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma) 1964 .loc 9 747 6 view .LVU464 1965 .LVL107: 1966 .loc 9 747 6 is_stmt 0 view .LVU465 1967 .LBE164: 1968 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:653: { 653:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DEBUG_INTERRUPT(INT_SDIO_DMA); 1969 .loc 4 653 1 view .LVU466 1970 0000 F7B5 push {r0, r1, r2, r4, r5, r6, r7, lr} @ 1971 .LCFI12: 1972 .cfi_def_cfa_offset 32 1973 .cfi_offset 4, -20 1974 .cfi_offset 5, -16 1975 .cfi_offset 6, -12 1976 .cfi_offset 7, -8 1977 .cfi_offset 14, -4 1978 .LBB167: 1979 .LBB165: 1980 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:750: __IO 748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr; ARM GAS /tmp/ccJhhmLc.s page 154 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t count = 0U; 1981 .loc 9 750 17 view .LVU467 1982 0002 0023 movs r3, #0 @ tmp198, 1983 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:754: DMA_B 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U; 752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 1984 .loc 9 754 56 view .LVU468 1985 0004 5C4C ldr r4, .L280 @ tmp200, 1986 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:750: __IO 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U; 1987 .loc 9 750 17 view .LVU469 1988 0006 0193 str r3, [sp, #4] @ tmp198, count 1989 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:751: uint3 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U; 1990 .loc 9 751 38 view .LVU470 1991 0008 5C4B ldr r3, .L280+4 @ tmp199, 1992 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:754: DMA_B 1993 .loc 9 754 23 view .LVU471 1994 000a A56D ldr r5, [r4, #88] @ regs, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].StreamBaseAddress 1995 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:751: uint3 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U; 1996 .loc 9 751 38 view .LVU472 1997 000c 1F68 ldr r7, [r3] @ _3, SystemCoreClock 1998 .LVL108: 1999 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:759: if (( 755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Error Interrupt management ***************************************/ 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) 2000 .loc 9 759 42 view .LVU473 2001 000e E36D ldr r3, [r4, #92] @ _8, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].StreamIndex 2002 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:756: tmpis 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2003 .loc 9 756 10 view .LVU474 2004 0010 2E68 ldr r6, [r5] @ tmpisr, regs_6->ISR 2005 .LVL109: 2006 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:759: if (( 2007 .loc 9 759 35 view .LVU475 2008 0012 0822 movs r2, #8 @ tmp202, 2009 0014 9A40 lsls r2, r2, r3 @ _9, tmp202, _8 2010 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:759: if (( 2011 .loc 9 759 6 view .LVU476 2012 0016 1642 tst r6, r2 @ tmpisr, _9 2013 0018 0CD0 beq .L190 @, 2014 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:761: if( 760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET) 2015 .loc 9 761 8 view .LVU477 2016 001a 2168 ldr r1, [r4] @ _11, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 2017 001c 0868 ldr r0, [r1] @ _12, _11->CR 2018 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:761: if( 2019 .loc 9 761 7 view .LVU478 2020 001e 4007 lsls r0, r0, #29 @, _12, 2021 0020 08D5 bpl .L190 @, ARM GAS /tmp/ccJhhmLc.s page 155 2022 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:764: h 762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer error interrupt */ 764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TE); 2023 .loc 9 764 21 view .LVU479 2024 0022 0868 ldr r0, [r1] @ _14, _11->CR 2025 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:764: h 2026 .loc 9 764 27 view .LVU480 2027 0024 20F00400 bic r0, r0, #4 @ _15, _14, 2028 0028 0860 str r0, [r1] @ _15, _11->CR 2029 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:767: r 765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer error flag */ 767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 2030 .loc 9 767 18 view .LVU481 2031 002a AA60 str r2, [r5, #8] @ _9, regs_6->IFCR 2032 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:770: h 768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_TE; 2033 .loc 9 770 11 view .LVU482 2034 002c 626D ldr r2, [r4, #84] @ _16, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2035 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:770: h 2036 .loc 9 770 23 view .LVU483 2037 002e 42F00102 orr r2, r2, #1 @ _17, _16, 2038 0032 6265 str r2, [r4, #84] @ _17, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2039 .L190: 2040 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:774: if (( 771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* FIFO Error Interrupt management ******************************************/ 774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) 2041 .loc 9 774 35 view .LVU484 2042 0034 0122 movs r2, #1 @ tmp208, 2043 0036 9A40 lsls r2, r2, r3 @ _18, tmp208, _8 2044 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:774: if (( 2045 .loc 9 774 6 view .LVU485 2046 0038 1642 tst r6, r2 @ tmpisr, _18 2047 003a 08D0 beq .L191 @, 2048 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:776: if( 775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET) 2049 .loc 9 776 8 view .LVU486 2050 003c 2168 ldr r1, [r4] @ _20, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 2051 003e 4969 ldr r1, [r1, #20] @ _21, _20->FCR 2052 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:776: if( 2053 .loc 9 776 7 view .LVU487 2054 0040 0906 lsls r1, r1, #24 @, _21, 2055 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:779: r 777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the FIFO error flag */ 779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; 2056 .loc 9 779 18 view .LVU488 2057 0042 41BF itttt mi 2058 0044 AA60 strmi r2, [r5, #8] @ _18, regs_6->IFCR 2059 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:782: h 780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/ccJhhmLc.s page 156 781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_FE; 2060 .loc 9 782 11 view .LVU489 2061 0046 626D ldrmi r2, [r4, #84] @ _23, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2062 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:782: h 2063 .loc 9 782 23 view .LVU490 2064 0048 42F00202 orrmi r2, r2, #2 @ _24, _23, 2065 004c 6265 strmi r2, [r4, #84] @ _24, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2066 .L191: 2067 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:786: if (( 783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Direct Mode Error Interrupt management ***********************************/ 786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 2068 .loc 9 786 36 view .LVU491 2069 004e 0422 movs r2, #4 @ tmp214, 2070 0050 9A40 lsls r2, r2, r3 @ _25, tmp214, _8 2071 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:786: if (( 2072 .loc 9 786 6 view .LVU492 2073 0052 1642 tst r6, r2 @ tmpisr, _25 2074 0054 08D0 beq .L192 @, 2075 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:788: if( 787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET) 2076 .loc 9 788 8 view .LVU493 2077 0056 2168 ldr r1, [r4] @ _27, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 2078 0058 0968 ldr r1, [r1] @ _28, _27->CR 2079 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:788: if( 2080 .loc 9 788 7 view .LVU494 2081 005a 8807 lsls r0, r1, #30 @, _28, 2082 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:791: r 789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the direct mode error flag */ 791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; 2083 .loc 9 791 18 view .LVU495 2084 005c 41BF itttt mi 2085 005e AA60 strmi r2, [r5, #8] @ _25, regs_6->IFCR 2086 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:794: h 792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_DME; 2087 .loc 9 794 11 view .LVU496 2088 0060 626D ldrmi r2, [r4, #84] @ _30, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2089 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:794: h 2090 .loc 9 794 23 view .LVU497 2091 0062 42F00402 orrmi r2, r2, #4 @ _31, _30, 2092 0066 6265 strmi r2, [r4, #84] @ _31, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2093 .L192: 2094 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:798: if (( 795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half Transfer Complete Interrupt management ******************************/ 798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET) 2095 .loc 9 798 35 view .LVU498 2096 0068 1022 movs r2, #16 @ tmp220, 2097 006a 9A40 lsls r2, r2, r3 @ _32, tmp220, _8 2098 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:798: if (( ARM GAS /tmp/ccJhhmLc.s page 157 2099 .loc 9 798 6 view .LVU499 2100 006c 1642 tst r6, r2 @ tmpisr, _32 2101 006e 10D0 beq .L194 @, 2102 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:800: if( 799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET) 2103 .loc 9 800 8 view .LVU500 2104 0070 2368 ldr r3, [r4] @ _34, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 2105 0072 1968 ldr r1, [r3] @ _35, _34->CR 2106 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:800: if( 2107 .loc 9 800 7 view .LVU501 2108 0074 0907 lsls r1, r1, #28 @, _35, 2109 0076 0CD5 bpl .L194 @, 2110 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:803: r 801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer complete flag */ 803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; 2111 .loc 9 803 18 view .LVU502 2112 0078 AA60 str r2, [r5, #8] @ _32, regs_6->IFCR 2113 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:806: i 804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Multi_Buffering mode enabled */ 806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 2114 .loc 9 806 26 view .LVU503 2115 007a 1A68 ldr r2, [r3] @ _37, _34->CR 2116 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:806: i 2117 .loc 9 806 9 view .LVU504 2118 007c 5003 lsls r0, r2, #13 @, _37, 2119 007e 37D5 bpl .L196 @, 2120 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:809: 807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 0 */ 809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 2121 .loc 9 809 27 view .LVU505 2122 0080 1B68 ldr r3, [r3] @ _39, _34->CR 2123 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:809: 2124 .loc 9 809 11 view .LVU506 2125 0082 1903 lsls r1, r3, #12 @, _39, 2126 0084 01D4 bmi .L197 @, 2127 .L198: 2128 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:836: 810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */ 814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma); 815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 1 */ 818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1HalfCpltCallback != NULL) 821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */ 823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback(hdma); 824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS /tmp/ccJhhmLc.s page 158 826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ 830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the half transfer interrupt */ 833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT); 834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 2129 .loc 9 836 16 view .LVU507 2130 0086 236C ldr r3, [r4, #64] @ _47, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferHalfCpltCallback 2131 0088 00E0 b .L274 @ 2132 .L197: 2133 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:820: 820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2134 .loc 9 820 18 view .LVU508 2135 008a A36C ldr r3, [r4, #72] @ _42, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferM1HalfCpltCallback 2136 .L274: 2137 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:836: 2138 .loc 9 836 11 view .LVU509 2139 008c 0BB1 cbz r3, .L194 @ _47, 2140 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:839: 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */ 839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma); 2141 .loc 9 839 11 view .LVU510 2142 008e 3A48 ldr r0, .L280 @, 2143 0090 9847 blx r3 @ _47 2144 .LVL110: 2145 .L194: 2146 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:845: if (( 840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Complete Interrupt management ***********************************/ 845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET) 2147 .loc 9 845 42 view .LVU511 2148 0092 E16D ldr r1, [r4, #92] @ _48, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].StreamIndex 2149 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:845: if (( 2150 .loc 9 845 35 view .LVU512 2151 0094 2022 movs r2, #32 @ tmp234, 2152 0096 8A40 lsls r2, r2, r1 @ _49, tmp234, _48 2153 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:845: if (( 2154 .loc 9 845 6 view .LVU513 2155 0098 1642 tst r6, r2 @ tmpisr, _49 2156 009a 3AD0 beq .L200 @, 2157 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:847: if( 846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET) 2158 .loc 9 847 8 view .LVU514 2159 009c 2368 ldr r3, [r4] @ _51, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 2160 009e 1868 ldr r0, [r3] @ _52, _51->CR 2161 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:847: if( 2162 .loc 9 847 7 view .LVU515 ARM GAS /tmp/ccJhhmLc.s page 159 2163 00a0 C606 lsls r6, r0, #27 @, _52, 2164 .LVL111: 2165 .loc 9 847 7 view .LVU516 2166 00a2 36D5 bpl .L200 @, 2167 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:850: r 848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer complete flag */ 850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; 2168 .loc 9 850 18 view .LVU517 2169 00a4 AA60 str r2, [r5, #8] @ _49, regs_6->IFCR 2170 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:852: i 851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_ABORT == hdma->State) 2171 .loc 9 852 37 view .LVU518 2172 00a6 94F83520 ldrb r2, [r4, #53] @ zero_extendqisi2 @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State, MEM[(st 2173 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:852: i 2174 .loc 9 852 9 view .LVU519 2175 00aa 052A cmp r2, #5 @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State, 2176 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:855: 853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable all the transfer interrupts */ 855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 2177 .loc 9 855 23 view .LVU520 2178 00ac 1A68 ldr r2, [r3] @ _55,* _51 2179 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:852: i 852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2180 .loc 9 852 9 view .LVU521 2181 00ae 27D1 bne .L202 @, 2182 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:855: 2183 .loc 9 855 29 view .LVU522 2184 00b0 22F01602 bic r2, r2, #22 @ _56, _55, 2185 00b4 1A60 str r2, [r3] @ _56, _51->CR 2186 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:856: 856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 2187 .loc 9 856 23 view .LVU523 2188 00b6 5A69 ldr r2, [r3, #20] @ _57, _51->FCR 2189 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:856: 2190 .loc 9 856 29 view .LVU524 2191 00b8 22F08002 bic r2, r2, #128 @ _58, _57, 2192 00bc 5A61 str r2, [r3, #20] @ _58, _51->FCR 2193 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:858: 857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 2194 .loc 9 858 11 view .LVU525 2195 00be 226C ldr r2, [r4, #64] @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferHalfCpltCallback, MEM[(struct 2196 00c0 0AB9 cbnz r2, .L203 @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferHalfCpltCallback, 2197 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:858: 2198 .loc 9 858 49 discriminator 1 view .LVU526 2199 00c2 A26C ldr r2, [r4, #72] @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferM1HalfCpltCallback, MEM[(struc 2200 00c4 1AB1 cbz r2, .L204 @ MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferM1HalfCpltCallback, 2201 .L203: 2202 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:860: 859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT); 2203 .loc 9 860 25 view .LVU527 2204 00c6 1A68 ldr r2, [r3] @ _61, _51->CR 2205 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:860: ARM GAS /tmp/ccJhhmLc.s page 160 2206 .loc 9 860 31 view .LVU528 2207 00c8 22F00802 bic r2, r2, #8 @ _62, _61, 2208 00cc 1A60 str r2, [r3] @ _62, _51->CR 2209 .L204: 2210 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:864: 861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */ 864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 2211 .loc 9 864 28 view .LVU529 2212 00ce 3F23 movs r3, #63 @ tmp246, 2213 00d0 8B40 lsls r3, r3, r1 @ _63, tmp246, _48 2214 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:864: 2215 .loc 9 864 20 view .LVU530 2216 00d2 AB60 str r3, [r5, #8] @ _63, regs_6->IFCR 2217 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:867: 865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 2218 .loc 9 867 21 view .LVU531 2219 00d4 0123 movs r3, #1 @ tmp248, 2220 00d6 84F83530 strb r3, [r4, #53] @ tmp248, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State 2221 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:870: 868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 2222 .loc 9 870 9 view .LVU532 2223 00da 0023 movs r3, #0 @ tmp251, 2224 00dc 84F83430 strb r3, [r4, #52] @ tmp251, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Lock 2225 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:872: 871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferAbortCallback != NULL) 2226 .loc 9 872 16 view .LVU533 2227 00e0 236D ldr r3, [r4, #80] @ _64, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferAbortCallback 2228 .LVL112: 2229 .L279: 2230 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:950: if( 873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback(hdma); 875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return; 877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 0 */ 882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1CpltCallback != NULL) 885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete Callback for memory1 */ 887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback(hdma); 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 1 */ 891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/ccJhhmLc.s page 161 893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL) 894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete Callback for memory0 */ 896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback(hdma); 897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */ 901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer complete interrupt */ 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC); 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL) 916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete callback */ 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback(hdma); 919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* manage error case */ 925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) 926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_ABORT; 930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */ 932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** do 935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (++count > timeout) 937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET); 942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/ccJhhmLc.s page 162 950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferErrorCallback != NULL) 2231 .loc 9 950 7 view .LVU534 2232 00e2 002B cmp r3, #0 @ _86 2233 00e4 45D0 beq .L189 @ 2234 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:953: h 951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer error callback */ 953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback(hdma); 2235 .loc 9 953 7 view .LVU535 2236 00e6 2448 ldr r0, .L280 @, 2237 .LBE165: 2238 .LBE167: 2239 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:656: } 656:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 2240 .loc 4 656 1 view .LVU536 2241 00e8 03B0 add sp, sp, #12 @,, 2242 .LCFI13: 2243 .cfi_remember_state 2244 .cfi_def_cfa_offset 20 2245 @ sp needed @ 2246 00ea BDE8F040 pop {r4, r5, r6, r7, lr} @ 2247 .LCFI14: 2248 .cfi_restore 14 2249 .cfi_restore 7 2250 .cfi_restore 6 2251 .cfi_restore 5 2252 .cfi_restore 4 2253 .cfi_def_cfa_offset 0 2254 .LVL113: 2255 .LBB168: 2256 .LBB166: 2257 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:953: h 2258 .loc 9 953 7 view .LVU537 2259 00ee 1847 bx r3 @ indirect register sibling call @ _86 2260 .LVL114: 2261 .L196: 2262 .LCFI15: 2263 .cfi_restore_state 2264 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:830: 830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2265 .loc 9 830 27 view .LVU538 2266 00f0 1A68 ldr r2, [r3] @ _43, _34->CR 2267 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:830: 830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2268 .loc 9 830 11 view .LVU539 2269 00f2 D205 lsls r2, r2, #23 @, _43, 2270 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:833: 833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2271 .loc 9 833 25 view .LVU540 2272 00f4 5EBF ittt pl 2273 00f6 1A68 ldrpl r2, [r3] @ _45, _34->CR 2274 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:833: 833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2275 .loc 9 833 31 view .LVU541 2276 00f8 22F00802 bicpl r2, r2, #8 @ _46, _45, 2277 00fc 1A60 strpl r2, [r3] @ _46, _34->CR 2278 00fe C2E7 b .L198 @ ARM GAS /tmp/ccJhhmLc.s page 163 2279 .LVL115: 2280 .L202: 2281 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:879: i 879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2282 .loc 9 879 9 view .LVU542 2283 0100 5003 lsls r0, r2, #13 @, _65, 2284 0102 27D5 bpl .L207 @, 2285 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:882: 882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2286 .loc 9 882 27 view .LVU543 2287 0104 1B68 ldr r3, [r3] @ _67, _51->CR 2288 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:882: 882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2289 .loc 9 882 11 view .LVU544 2290 0106 1903 lsls r1, r3, #12 @, _67, 2291 0108 31D4 bmi .L209 @, 2292 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:884: 884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2293 .loc 9 884 18 view .LVU545 2294 010a 636C ldr r3, [r4, #68] @ _69, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferM1CpltCallback 2295 .L276: 2296 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:915: 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2297 .loc 9 915 11 view .LVU546 2298 010c 0BB1 cbz r3, .L200 @ _75, 2299 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:918: 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2300 .loc 9 918 11 view .LVU547 2301 010e 1A48 ldr r0, .L280 @, 2302 0110 9847 blx r3 @ _75 2303 .LVL116: 2304 .L200: 2305 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:925: if(hd 925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2306 .loc 9 925 10 view .LVU548 2307 0112 636D ldr r3, [r4, #84] @ _76, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2308 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:925: if(hd 925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2309 .loc 9 925 5 view .LVU549 2310 0114 6BB3 cbz r3, .L189 @ _76, 2311 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:927: if( 927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2312 .loc 9 927 13 view .LVU550 2313 0116 636D ldr r3, [r4, #84] @ _77, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].ErrorCode 2314 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:927: if( 927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2315 .loc 9 927 7 view .LVU551 2316 0118 DA07 lsls r2, r3, #31 @, _77, 2317 011a 19D5 bpl .L211 @, 2318 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:932: _ 932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2319 .loc 9 932 7 view .LVU552 2320 011c 2268 ldr r2, [r4] @ _79, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Instance 2321 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:751: uint3 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2322 .loc 9 751 12 view .LVU553 2323 011e 4FF41653 mov r3, #9600 @ tmp273, ARM GAS /tmp/ccJhhmLc.s page 164 2324 0122 B7FBF3F7 udiv r7, r7, r3 @ timeout, _3, tmp273 2325 .LVL117: 2326 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:929: h 929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2327 .loc 9 929 19 view .LVU554 2328 0126 0523 movs r3, #5 @ tmp275, 2329 0128 84F83530 strb r3, [r4, #53] @ tmp275, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State 2330 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:932: _ 932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2331 .loc 9 932 7 view .LVU555 2332 012c 1368 ldr r3, [r2] @ _80, _79->CR 2333 012e 23F00103 bic r3, r3, #1 @ _81, _80, 2334 0132 1360 str r3, [r2] @ _81, _79->CR 2335 .L213: 2336 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:936: 936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2337 .loc 9 936 13 view .LVU556 2338 0134 019B ldr r3, [sp, #4] @ _82, count 2339 0136 0133 adds r3, r3, #1 @ _83, _82, 2340 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:936: 936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2341 .loc 9 936 12 view .LVU557 2342 0138 9F42 cmp r7, r3 @ timeout, _83 2343 013a 0193 str r3, [sp, #4] @ _83, count 2344 013c 02D3 bcc .L212 @, 2345 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:941: w 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2346 .loc 9 941 28 view .LVU558 2347 013e 1368 ldr r3, [r2] @ _84, _79->CR 2348 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:941: w 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2349 .loc 9 941 48 view .LVU559 2350 0140 DB07 lsls r3, r3, #31 @, _84, 2351 0142 F7D4 bmi .L213 @, 2352 .L212: 2353 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:944: h 944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2354 .loc 9 944 19 view .LVU560 2355 0144 0123 movs r3, #1 @ tmp280, 2356 0146 84F83530 strb r3, [r4, #53] @ tmp280, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State 2357 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:947: _ 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2358 .loc 9 947 7 view .LVU561 2359 014a 0023 movs r3, #0 @ tmp283, 2360 014c 84F83430 strb r3, [r4, #52] @ tmp283, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Lock 2361 .L211: 2362 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:950: if( 950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2363 .loc 9 950 12 view .LVU562 2364 0150 E36C ldr r3, [r4, #76] @ _86, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferErrorCallback 2365 0152 C6E7 b .L279 @ 2366 .LVL118: 2367 .L207: 2368 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:903: 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2369 .loc 9 903 27 view .LVU563 2370 0154 1A68 ldr r2, [r3] @ _71, _51->CR ARM GAS /tmp/ccJhhmLc.s page 165 2371 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:903: 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2372 .loc 9 903 11 view .LVU564 2373 0156 12F48072 ands r2, r2, #256 @ _72, _71, 2374 015a 08D1 bne .L209 @, 2375 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:906: 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2376 .loc 9 906 25 view .LVU565 2377 015c 1968 ldr r1, [r3] @ _73, _51->CR 2378 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:906: 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2379 .loc 9 906 31 view .LVU566 2380 015e 21F01001 bic r1, r1, #16 @ _74, _73, 2381 0162 1960 str r1, [r3] @ _74, _51->CR 2382 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:909: 909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2383 .loc 9 909 23 view .LVU567 2384 0164 0123 movs r3, #1 @ tmp263, 2385 0166 84F83530 strb r3, [r4, #53] @ tmp263, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].State 2386 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:912: 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2387 .loc 9 912 11 view .LVU568 2388 016a 84F83420 strb r2, [r4, #52] @ _72, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].Lock 2389 .L209: 2390 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c:915: 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2391 .loc 9 915 16 view .LVU569 2392 016e E36B ldr r3, [r4, #60] @ _75, MEM[(struct DMA_HandleTypeDef *)&sdioTxDma].XferCpltCallback 2393 0170 CCE7 b .L276 @ 2394 .LVL119: 2395 .L189: 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2396 .loc 9 915 16 view .LVU570 2397 .LBE166: 2398 .LBE168: 2399 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:656: } 2400 .loc 4 656 1 view .LVU571 2401 0172 03B0 add sp, sp, #12 @,, 2402 .LCFI16: 2403 .cfi_def_cfa_offset 20 2404 @ sp needed @ 2405 0174 F0BD pop {r4, r5, r6, r7, pc} @ 2406 .LVL120: 2407 .L281: 2408 .loc 4 656 1 view .LVU572 2409 0176 00BF .align 2 2410 .L280: 2411 0178 00000000 .word _ZL9sdioTxDma.lto_priv.0 2412 017c 00000000 .word SystemCoreClock 2413 .cfi_endproc 2414 .LFE49: 2415 .size DMA2_Stream3_IRQHandler, .-DMA2_Stream3_IRQHandler 2416 .section .text.startup._GLOBAL__sub_I__Z10sdio_ioctlhhPv,"ax",%progbits 2417 .align 1 2418 .syntax unified 2419 .thumb 2420 .thumb_func ARM GAS /tmp/ccJhhmLc.s page 166 2421 .type _GLOBAL__sub_I__Z10sdio_ioctlhhPv, %function 2422 _GLOBAL__sub_I__Z10sdio_ioctlhhPv: 2423 .LFB52: 2424 .loc 4 656 1 is_stmt 1 view -0 2425 .cfi_startproc 2426 @ args = 0, pretend = 0, frame = 0 2427 @ frame_needed = 0, uses_anonymous_args = 0 2428 @ link register save eliminated. 2429 .LVL121: 2430 .LBB176: 2431 .LBB177: 2432 .LBB178: 2433 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:118: struct { 118:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SD_SDIO_TypeDef* periph = SD_SDIO; 2434 .loc 4 118 8 view .LVU574 2435 0000 0F4B ldr r3, .L283 @ tmp114, 2436 0002 104A ldr r2, .L283+4 @ tmp115, 2437 0004 1A60 str r2, [r3] @ tmp115, currentSD.periph 2438 0006 02F55C42 add r2, r2, #56320 @ tmp117, tmp117, 2439 000a 0832 adds r2, r2, #8 @ tmp117, tmp117, 2440 000c 5A60 str r2, [r3, #4] @ tmp117, currentSD.D0 2441 000e 0132 adds r2, r2, #1 @ tmp119, tmp119, 2442 0010 9A60 str r2, [r3, #8] @ tmp119, currentSD.D1 2443 0012 0132 adds r2, r2, #1 @ tmp121, tmp121, 2444 0014 DA60 str r2, [r3, #12] @ tmp121, currentSD.D2 2445 0016 0132 adds r2, r2, #1 @ tmp123, tmp123, 2446 0018 1A61 str r2, [r3, #16] @ tmp123, currentSD.D3 2447 001a 02F2F732 addw r2, r2, #1015 @ tmp125, tmp125, 2448 001e 5A61 str r2, [r3, #20] @ tmp125, currentSD.CMD 2449 0020 A2F2F632 subw r2, r2, #1014 @ tmp127, tmp127, 2450 0024 9A61 str r2, [r3, #24] @ tmp127, currentSD.CLK 2451 0026 4FF00C32 mov r2, #202116108 @ tmp129, 2452 002a DA61 str r2, [r3, #28] @ tmp129, MEM [(unsigned char *)¤tSD + 28B] 2453 002c 40F60C42 movw r2, #3084 @ tmp132, 2454 0030 1A84 strh r2, [r3, #32] @ movhi @ tmp132, MEM [(unsigned char *)¤tSD + 32B] 2455 0032 3122 movs r2, #49 @ tmp134, 2456 0034 83F82220 strb r2, [r3, #34] @ tmp134, currentSD.IRQn 2457 0038 0022 movs r2, #0 @ tmp137, 2458 003a 5A62 str r2, [r3, #36] @ tmp137, currentSD.SD_CLK_DIV 2459 .LVL122: 118:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** SD_SDIO_TypeDef* periph = SD_SDIO; 2460 .loc 4 118 8 is_stmt 0 view .LVU575 2461 .LBE178: 2462 .LBE177: 2463 .LBE176: 2464 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:656: } 2465 .loc 4 656 1 is_stmt 1 view .LVU576 2466 003c 7047 bx lr @ 2467 .L284: 2468 003e 00BF .align 2 2469 .L283: 2470 0040 00000000 .word currentSD.lto_priv.0 2471 0044 002C0140 .word 1073818624 2472 .cfi_endproc 2473 .LFE52: 2474 .size _GLOBAL__sub_I__Z10sdio_ioctlhhPv, .-_GLOBAL__sub_I__Z10sdio_ioctlhhPv 2475 .section .init_array,"aw",%init_array ARM GAS /tmp/ccJhhmLc.s page 167 2476 .align 2 2477 0000 00000000 .word _GLOBAL__sub_I__Z10sdio_ioctlhhPv(target1) 2478 .section .text._Z19stm32_i2c_master_txhtPhtm,"ax",%progbits 2479 .align 1 2480 .global _Z19stm32_i2c_master_txhtPhtm 2481 .syntax unified 2482 .thumb 2483 .thumb_func 2484 .type _Z19stm32_i2c_master_txhtPhtm, %function 2485 _Z19stm32_i2c_master_txhtPhtm: 2486 .LVL123: 2487 .LFB57: 68:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 69:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2CMutex(bus) i2c_ensure_mutex(i2c_get_device(bus)); MutexLock mutexLock = MutexLock::MakeI 70:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #else 71:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2CMutex(bus) 72:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 73:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 74:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(STM32H7) || defined(STM32H7RS) 75:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 76:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* ST's I2C timing computation */ 77:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 78:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_VALID_TIMING_NBR 8U 79:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_SPEED_FREQ_STANDARD 0U /* 100 kHz */ 80:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_SPEED_FREQ_FAST 1U /* 400 kHz */ 81:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_SPEED_FREQ_FAST_PLUS 2U /* 1 MHz */ 82:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_ANALOG_FILTER_DELAY_MIN 50U /* ns */ 83:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_ANALOG_FILTER_DELAY_MAX 260U /* ns */ 84:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_USE_ANALOG_FILTER 1U 85:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_DIGITAL_FILTER_COEF 0U 86:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_PRESC_MAX 16U 87:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_SCLDEL_MAX 16U 88:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_SDADEL_MAX 16U 89:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_SCLH_MAX 256U 90:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define I2C_SCLL_MAX 256U 91:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #define SEC2NSEC 1000000000UL 92:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 93:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** typedef struct 94:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 95:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t freq; /* Frequency in Hz */ 96:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t freq_min; /* Minimum frequency in Hz */ 97:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t freq_max; /* Maximum frequency in Hz */ 98:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t hddat_min; /* Minimum data hold time in ns */ 99:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t vddat_max; /* Maximum data valid time in ns */ 100:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t sudat_min; /* Minimum data setup time in ns */ 101:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t lscl_min; /* Minimum low period of the SCL clock in ns */ 102:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t hscl_min; /* Minimum high period of SCL clock in ns */ 103:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t trise; /* Rise time in ns */ 104:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tfall; /* Fall time in ns */ 105:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t dnf; /* Digital noise filter coefficient */ 106:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } I2C_Charac_t; 107:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 108:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** typedef struct 109:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 110:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t presc; /* Timing prescaler */ 111:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tscldel; /* SCL delay */ 112:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tsdadel; /* SDA delay */ ARM GAS /tmp/ccJhhmLc.s page 168 113:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t sclh; /* SCL high period */ 114:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t scll; /* SCL low period */ 115:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } I2C_Timings_t; 116:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 117:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static const I2C_Charac_t I2C_Charac[] = 118:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 119:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* I2C_SPEED_FREQ_STANDARD */ 120:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 121:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq = 100000, 122:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq_min = 80000, 123:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq_max = 120000, 124:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .hddat_min = 0, 125:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .vddat_max = 3450, 126:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .sudat_min = 250, 127:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .lscl_min = 4700, 128:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .hscl_min = 4000, 129:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .trise = 640, 130:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .tfall = 20, 131:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .dnf = I2C_DIGITAL_FILTER_COEF, 132:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** }, 133:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* I2C_SPEED_FREQ_FAST */ 134:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 135:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq = 400000, 136:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq_min = 320000, 137:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq_max = 480000, 138:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .hddat_min = 0, 139:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .vddat_max = 900, 140:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .sudat_min = 100, 141:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .lscl_min = 1300, 142:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .hscl_min = 600, 143:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .trise = 250, 144:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .tfall = 100, 145:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .dnf = I2C_DIGITAL_FILTER_COEF, 146:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** }, 147:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* I2C_SPEED_FREQ_FAST_PLUS */ 148:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 149:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq = 1000000, 150:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq_min = 800000, 151:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .freq_max = 1200000, 152:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .hddat_min = 0, 153:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .vddat_max = 450, 154:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .sudat_min = 50, 155:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .lscl_min = 500, 156:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .hscl_min = 260, 157:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .trise = 60, 158:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .tfall = 100, 159:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** .dnf = I2C_DIGITAL_FILTER_COEF, 160:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** }, 161:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** }; 162:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 163:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static I2C_Timings_t I2c_valid_timing[I2C_VALID_TIMING_NBR]; 164:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static uint32_t I2c_valid_timing_nbr = 0; 165:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 166:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static void I2C_Compute_PRESC_SCLDEL_SDADEL(uint32_t clock_src_freq, uint32_t I2C_speed); 167:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static uint32_t I2C_Compute_SCLL_SCLH (uint32_t clock_src_freq, uint32_t I2C_speed); 168:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 169:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /** ARM GAS /tmp/ccJhhmLc.s page 169 170:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @brief Compute I2C timing according current I2C clock source and required I2C clock. 171:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @param clock_src_freq I2C clock source in Hz. 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @param i2c_freq Required I2C clock in Hz. 173:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @retval I2C timing or 0 in case of error. 174:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** */ 175:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static uint32_t I2C_GetTiming(uint32_t clock_src_freq, uint32_t i2c_freq) 176:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 177:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t ret = 0; 178:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t speed; 179:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t idx; 180:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 181:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if((clock_src_freq != 0U) && (i2c_freq != 0U)) 182:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 183:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** for ( speed = 0 ; speed <= (uint32_t)I2C_SPEED_FREQ_FAST_PLUS ; speed++) 184:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 185:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if ((i2c_freq >= I2C_Charac[speed].freq_min) && 186:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** (i2c_freq <= I2C_Charac[speed].freq_max)) 187:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 188:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2c_valid_timing_nbr = 0; 189:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_Compute_PRESC_SCLDEL_SDADEL(clock_src_freq, speed); 190:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** idx = I2C_Compute_SCLL_SCLH(clock_src_freq, speed); 191:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 192:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (idx < I2C_VALID_TIMING_NBR) 193:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 194:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ret = ((I2c_valid_timing[idx].presc & 0x0FU) << 28) |\ 195:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ((I2c_valid_timing[idx].tscldel & 0x0FU) << 20) |\ 196:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ((I2c_valid_timing[idx].tsdadel & 0x0FU) << 16) |\ 197:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ((I2c_valid_timing[idx].sclh & 0xFFU) << 8) |\ 198:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ((I2c_valid_timing[idx].scll & 0xFFU) << 0); 199:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 200:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** break; 201:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 202:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 203:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 204:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 205:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return ret; 206:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 207:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 208:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /** 209:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @brief Compute PRESC, SCLDEL and SDADEL. 210:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @param clock_src_freq I2C source clock in HZ. 211:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @param I2C_speed I2C frequency (index). 212:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @retval None. 213:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** */ 214:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static void I2C_Compute_PRESC_SCLDEL_SDADEL(uint32_t clock_src_freq, uint32_t I2C_speed) 215:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 216:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t prev_presc = I2C_PRESC_MAX; 217:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t ti2cclk; 218:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int32_t tsdadel_min, tsdadel_max; 219:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int32_t tscldel_min; 220:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t presc, scldel, sdadel; 221:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tafdel_min, tafdel_max; 222:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 223:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ti2cclk = (SEC2NSEC + (clock_src_freq / 2U))/ clock_src_freq; 224:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 225:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tafdel_min = (I2C_USE_ANALOG_FILTER == 1U) ? I2C_ANALOG_FILTER_DELAY_MIN : 0U; 226:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tafdel_max = (I2C_USE_ANALOG_FILTER == 1U) ? I2C_ANALOG_FILTER_DELAY_MAX : 0U; ARM GAS /tmp/ccJhhmLc.s page 170 227:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 228:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* tDNF = DNF x tI2CCLK 229:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tPRESC = (PRESC+1) x tI2CCLK 230:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** SDADEL >= {tf +tHD;DAT(min) - tAF(min) - tDNF - [3 x tI2CCLK]} / {tPRESC} 231:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** SDADEL <= {tVD;DAT(max) - tr - tAF(max) - tDNF- [4 x tI2CCLK]} / {tPRESC} */ 232:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 233:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tsdadel_min = (int32_t)I2C_Charac[I2C_speed].tfall + (int32_t)I2C_Charac[I2C_speed].hddat_min - 234:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** (int32_t)tafdel_min - (int32_t)(((int32_t)I2C_Charac[I2C_speed].dnf + 3) * (int32_t)ti2cclk); 235:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 236:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tsdadel_max = (int32_t)I2C_Charac[I2C_speed].vddat_max - (int32_t)I2C_Charac[I2C_speed].trise - 237:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** (int32_t)tafdel_max - (int32_t)(((int32_t)I2C_Charac[I2C_speed].dnf + 4) * (int32_t)ti2cclk); 238:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 239:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 240:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* {[tr+ tSU;DAT(min)] / [tPRESC]} - 1 <= SCLDEL */ 241:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tscldel_min = (int32_t)I2C_Charac[I2C_speed].trise + (int32_t)I2C_Charac[I2C_speed].sudat_min; 242:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 243:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (tsdadel_min <= 0) 244:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 245:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tsdadel_min = 0; 246:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 247:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 248:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (tsdadel_max <= 0) 249:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 250:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tsdadel_max = 0; 251:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 252:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 253:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** for (presc = 0; presc < I2C_PRESC_MAX; presc++) 254:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 255:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** for (scldel = 0; scldel < I2C_SCLDEL_MAX; scldel++) 256:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 257:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* TSCLDEL = (SCLDEL+1) * (PRESC+1) * TI2CCLK */ 258:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tscldel = (scldel + 1U) * (presc + 1U) * ti2cclk; 259:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 260:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (tscldel >= (uint32_t)tscldel_min) 261:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 262:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** for (sdadel = 0; sdadel < I2C_SDADEL_MAX; sdadel++) 263:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 264:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* TSDADEL = SDADEL * (PRESC+1) * TI2CCLK */ 265:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tsdadel = (sdadel * (presc + 1U)) * ti2cclk; 266:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 267:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if ((tsdadel >= (uint32_t)tsdadel_min) && (tsdadel <= (uint32_t)tsdadel_max)) 268:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 269:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if(presc != prev_presc) 270:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 271:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2c_valid_timing[I2c_valid_timing_nbr].presc = presc; 272:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2c_valid_timing[I2c_valid_timing_nbr].tscldel = scldel; 273:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2c_valid_timing[I2c_valid_timing_nbr].tsdadel = sdadel; 274:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** prev_presc = presc; 275:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2c_valid_timing_nbr ++; 276:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 277:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if(I2c_valid_timing_nbr >= I2C_VALID_TIMING_NBR) 278:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 279:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return; 280:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 281:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 282:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 283:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } ARM GAS /tmp/ccJhhmLc.s page 171 284:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 285:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 286:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 287:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 288:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 289:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /** 290:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @brief Calculate SCLL and SCLH and find best configuration. 291:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @param clock_src_freq I2C source clock in HZ. 292:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @param I2C_speed I2C frequency (index). 293:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** * @retval config index (0 to I2C_VALID_TIMING_NBR], 0xFFFFFFFF for no valid config. 294:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** */ 295:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static uint32_t I2C_Compute_SCLL_SCLH (uint32_t clock_src_freq, uint32_t I2C_speed) 296:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 297:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t ret = 0xFFFFFFFFU; 298:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t ti2cclk; 299:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t ti2cspeed; 300:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t prev_error; 301:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t dnf_delay; 302:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t clk_min, clk_max; 303:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t scll, sclh; 304:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tafdel_min; 305:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 306:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ti2cclk = (SEC2NSEC + (clock_src_freq / 2U))/ clock_src_freq; 307:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ti2cspeed = (SEC2NSEC + (I2C_Charac[I2C_speed].freq / 2U))/ I2C_Charac[I2C_speed].freq; 308:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 309:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tafdel_min = (I2C_USE_ANALOG_FILTER == 1U) ? I2C_ANALOG_FILTER_DELAY_MIN : 0U; 310:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 311:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* tDNF = DNF x tI2CCLK */ 312:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dnf_delay = I2C_Charac[I2C_speed].dnf * ti2cclk; 313:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 314:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** clk_max = SEC2NSEC / I2C_Charac[I2C_speed].freq_min; 315:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** clk_min = SEC2NSEC / I2C_Charac[I2C_speed].freq_max; 316:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 317:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** prev_error = ti2cspeed; 318:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 319:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** for (uint32_t count = 0; count < I2c_valid_timing_nbr; count++) 320:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 321:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* tPRESC = (PRESC+1) x tI2CCLK*/ 322:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tpresc = (I2c_valid_timing[count].presc + 1U) * ti2cclk; 323:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 324:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** for (scll = 0; scll < I2C_SCLL_MAX; scll++) 325:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 326:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* tLOW(min) <= tAF(min) + tDNF + 2 x tI2CCLK + [(SCLL+1) x tPRESC ] */ 327:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tscl_l = tafdel_min + dnf_delay + (2U * ti2cclk) + ((scll + 1U) * tpresc); 328:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 329:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 330:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* The I2CCLK period tI2CCLK must respect the following conditions: 331:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** tI2CCLK < (tLOW - tfilters) / 4 and tI2CCLK < tHIGH */ 332:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if ((tscl_l > I2C_Charac[I2C_speed].lscl_min) && (ti2cclk < ((tscl_l - tafdel_min - dnf_delay 333:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 334:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** for (sclh = 0; sclh < I2C_SCLH_MAX; sclh++) 335:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 336:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* tHIGH(min) <= tAF(min) + tDNF + 2 x tI2CCLK + [(SCLH+1) x tPRESC] */ 337:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tscl_h = tafdel_min + dnf_delay + (2U * ti2cclk) + ((sclh + 1U) * tpresc); 338:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 339:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* tSCL = tf + tLOW + tr + tHIGH */ 340:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t tscl = tscl_l + tscl_h + I2C_Charac[I2C_speed].trise + I2C_Charac[I2C_speed].tfa ARM GAS /tmp/ccJhhmLc.s page 172 341:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 342:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if ((tscl >= clk_min) && (tscl <= clk_max) && (tscl_h >= I2C_Charac[I2C_speed].hscl_min) 343:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 344:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int32_t error = (int32_t)tscl - (int32_t)ti2cspeed; 345:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 346:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (error < 0) 347:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 348:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** error = -error; 349:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 350:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 351:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* look for the timings with the lowest clock error */ 352:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if ((uint32_t)error < prev_error) 353:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 354:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** prev_error = (uint32_t)error; 355:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2c_valid_timing[count].scll = scll; 356:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2c_valid_timing[count].sclh = sclh; 357:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ret = count; 358:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 359:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 360:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 361:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 362:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 363:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 364:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 365:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return ret; 366:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 367:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 368:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 369:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static int i2c_init_clock_source(I2C_TypeDef* instance) 370:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 371:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(LL_RCC_I2C1_CLKSOURCE) 372:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (instance == I2C1) { 373:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C1); 374:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_RCC_SetClockSource(LL_RCC_I2C1_CLKSOURCE_PCLK1); 375:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 376:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 377:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 378:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(LL_RCC_I2C23_CLKSOURCE) 379:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (instance == I2C2) { 380:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C2); 381:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_RCC_SetClockSource(LL_RCC_I2C23_CLKSOURCE_PCLK1); 382:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 383:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 384:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 385:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(LL_RCC_I2C123_CLKSOURCE) 386:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** # if defined(LL_RCC_I2C4_CLKSOURCE) 387:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (instance == I2C4) { 388:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_RCC_SetClockSource(LL_RCC_I2C4_CLKSOURCE_PCLK4); 389:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } else 390:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** # endif 391:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 392:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_RCC_SetClockSource(LL_RCC_I2C123_CLKSOURCE_PCLK1); 393:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 394:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 395:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 396:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 397:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } ARM GAS /tmp/ccJhhmLc.s page 173 398:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 399:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 400:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 401:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static int i2c_enable_clock(I2C_TypeDef* instance) 402:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 403:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* Peripheral clock enable */ 404:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (instance == I2C1) 405:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C1); 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C2) 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C2); 408:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C3) 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C3); 410:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 411:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C4) 412:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB4_GRP1_EnableClock(LL_APB4_GRP1_PERIPH_I2C4); 413:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 414:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else return -1; 415:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 416:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 417:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 418:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 419:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static int i2c_disable_clock(I2C_TypeDef* instance) 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 421:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** /* Peripheral clock disable */ 422:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (instance == I2C1) 423:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C1); 424:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C2) 425:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C2); 426:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C3) 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C3); 428:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 429:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C4) 430:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB4_GRP1_DisableClock(LL_APB4_GRP1_PERIPH_I2C4); 431:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 432:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else 433:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 434:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 435:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 436:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 437:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static int i2c_gpio_init(const stm32_i2c_hw_def_t* hw_def) 439:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 440:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_set(hw_def->SCL_GPIO); 441:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SCL_GPIO, GPIO_OD_PU, GPIO_PIN_SPEED_MEDIUM); 442:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_set_af(hw_def->SCL_GPIO, hw_def->GPIO_AF); 443:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 444:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_set(hw_def->SDA_GPIO); 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SDA_GPIO, GPIO_OD_PU, GPIO_PIN_SPEED_MEDIUM); 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_set_af(hw_def->SDA_GPIO, hw_def->GPIO_AF); 447:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 448:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (hw_def->set_pwr) { 449:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** hw_def->set_pwr(true); 450:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** // Add some delay to leave enought time 451:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** // for devices to boot before querying them 452:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** HAL_Delay(20); 453:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 454:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** ARM GAS /tmp/ccJhhmLc.s page 174 455:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 456:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 457:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 458:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** static int i2c_gpio_deinit(const stm32_i2c_hw_def_t* hw_def) 459:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 460:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** // reconfigure pins as open-drain input 461:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SCL_GPIO, GPIO_IN, GPIO_PIN_SPEED_LOW); 462:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SDA_GPIO, GPIO_IN, GPIO_PIN_SPEED_LOW); 463:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 464:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (hw_def->set_pwr) { 465:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** hw_def->set_pwr(false); 466:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 467:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 468:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 469:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 470:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 471:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 472:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int stm32_i2c_init(uint8_t bus, uint32_t clock_rate, const stm32_i2c_hw_def_t* hw_def) 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 474:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** auto dev = i2c_get_device(bus); 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev) return -1; 476:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev->hw_def) { 478:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->hw_def = hw_def; 479:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->handle.Instance = hw_def->I2Cx; 480:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 481:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 482:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** auto h = &dev->handle; 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_InitTypeDef& init = h->Init; 484:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 485:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(STM32H7) || defined(STM32H7RS) 486:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** i2c_init_clock_source(h->Instance); 487:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** # if defined(LL_RCC_I2C123_CLKSOURCE_PCLK1) 488:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t pclk_freq = LL_RCC_GetI2CClockFreq(LL_RCC_I2C123_CLKSOURCE_PCLK1); 489:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** # elif defined(LL_RCC_I2C1_CLKSOURCE_PCLK1) 490:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t pclk_freq = LL_RCC_GetI2CClockFreq(LL_RCC_I2C1_CLKSOURCE_PCLK1); 491:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** # endif 492:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.Timing = I2C_GetTiming(pclk_freq, clock_rate); 493:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #else 494:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (init.ClockSpeed > 0) { 495:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (init.ClockSpeed != clock_rate) return -1; 496:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 497:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 498:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.ClockSpeed = clock_rate; 499:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.DutyCycle = I2C_DUTYCYCLE_16_9; 500:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 502:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.OwnAddress1 = 0; 503:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.DualAddressMode = I2C_DUALADDRESS_DISABLE; 505:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.OwnAddress2 = 0; 506:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.GeneralCallMode = I2C_GENERALCALL_DISABLE; 507:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.NoStretchMode = I2C_NOSTRETCH_DISABLE; 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (i2c_gpio_init(hw_def) < 0) { 510:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspInit() I2C_GPIO misconfiguration"); 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -2; ARM GAS /tmp/ccJhhmLc.s page 175 512:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 513:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 514:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (i2c_enable_clock(hw_def->I2Cx) < 0) { 515:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspInit() I2C misconfiguration"); 516:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -3; 517:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 518:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 519:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (HAL_I2C_Init(h) != HAL_OK) { 520:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_Init() failed"); 521:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -4; 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 523:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 524:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C_FLTR_ANOFF) && defined(I2C_FLTR_DNF) || defined(STM32H7) || \ 525:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** defined(STM32H7RS) 526:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** // Configure Analogue filter 527:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (HAL_I2CEx_ConfigAnalogFilter(h, I2C_ANALOGFILTER_ENABLE) != HAL_OK) { 528:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2CEx_ConfigAnalogFilter() failed"); 529:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 530:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 531:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 532:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** // Configure Digital filter 533:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (HAL_I2CEx_ConfigDigitalFilter(h, 0) != HAL_OK) { 534:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2CEx_ConfigDigitalFilter() failed"); 535:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 536:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 537:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 538:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 539:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if !defined(BOOT) 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->mutex_initialized = false; 541:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 542:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 1; 543:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 544:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 545:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int stm32_i2c_deinit(uint8_t bus) 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 548:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 549:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 550:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (HAL_I2C_DeInit(h) != HAL_OK) return -1; 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** memset(&h->Init, 0, sizeof(h->Init)); 553:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 554:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (i2c_disable_clock(h->Instance) < 0) { 555:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspDeInit() I2C misconfiguration"); 556:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 557:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 558:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 559:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** auto dev = i2c_get_device(bus); 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev) return -1; 561:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** i2c_gpio_deinit(dev->hw_def); 563:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 564:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 565:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 566:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 567:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int stm32_i2c_master_tx(uint8_t bus, uint16_t addr, uint8_t *data, uint16_t len, 568:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t timeout) ARM GAS /tmp/ccJhhmLc.s page 176 569:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 2488 .loc 3 569 1 view -0 2489 .cfi_startproc 2490 @ args = 4, pretend = 0, frame = 24 2491 @ frame_needed = 0, uses_anonymous_args = 0 570:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 2492 .loc 3 570 3 view .LVU578 2493 .LBB194: 2494 .LBI194: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 2495 .loc 3 54 27 view .LVU579 2496 .LBB195: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 2497 .loc 3 56 3 view .LVU580 2498 .LBE195: 2499 .LBE194: 2500 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:569: { 569:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 2501 .loc 3 569 1 is_stmt 0 view .LVU581 2502 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 2503 .LCFI17: 2504 .cfi_def_cfa_offset 36 2505 .cfi_offset 4, -36 2506 .cfi_offset 5, -32 2507 .cfi_offset 6, -28 2508 .cfi_offset 7, -24 2509 .cfi_offset 8, -20 2510 .cfi_offset 9, -16 2511 .cfi_offset 10, -12 2512 .cfi_offset 11, -8 2513 .cfi_offset 14, -4 2514 0004 89B0 sub sp, sp, #36 @,, 2515 .LCFI18: 2516 .cfi_def_cfa_offset 72 2517 .LBB198: 2518 .LBB196: 2519 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 2520 .loc 3 56 3 view .LVU582 2521 0006 0128 cmp r0, #1 @ bus, 2522 .LBE196: 2523 .LBE198: 2524 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:569: { 569:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 2525 .loc 3 569 1 view .LVU583 2526 0008 CDE90212 strd r1, r2, [sp, #8] @ tmp453, tmp454,, 2527 000c DDF84880 ldr r8, [sp, #72] @ timeout, timeout 2528 0010 0546 mov r5, r0 @ bus, tmp452 2529 0012 9A46 mov r10, r3 @ len, tmp455 2530 .LBB199: 2531 .LBB197: 2532 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 2533 .loc 3 56 3 view .LVU584 2534 0014 00F20E81 bhi .L302 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 2535 .loc 3 57 3 is_stmt 1 view .LVU585 ARM GAS /tmp/ccJhhmLc.s page 177 2536 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:57: return &_i2c_dev 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 2537 .loc 3 57 26 is_stmt 0 view .LVU586 2538 0018 884C ldr r4, .L326 @ tmp201, 2539 001a 4742 rsbs r7, r0, #0 @ tmp200, bus 2540 001c 07F0A807 and r7, r7, #168 @ _173, tmp200, 2541 0020 3E19 adds r6, r7, r4 @ _9, _173, tmp201 2542 .LVL124: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 2543 .loc 3 57 26 view .LVU587 2544 .LBE197: 2545 .LBE199: 571:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 2546 .loc 3 571 3 is_stmt 1 view .LVU588 572:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 573:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2CMutex(bus); 2547 .loc 3 573 3 view .LVU589 2548 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:573: I2CMutex(bus); 2549 .loc 3 573 3 is_stmt 0 discriminator 1 view .LVU590 2550 0022 3046 mov r0, r6 @, _9 2551 .LVL125: 2552 .loc 3 573 3 discriminator 1 view .LVU591 2553 0024 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 2554 .LVL126: 2555 .loc 3 573 3 is_stmt 1 discriminator 2 view .LVU592 2556 .LBB200: 2557 .LBI200: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2558 .loc 7 102 20 view .LVU593 2559 .LBB201: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2560 .loc 7 102 55 view .LVU594 2561 .LBE201: 2562 .LBE200: 2563 .LBB204: 2564 .LBB205: 2565 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2566 .file 10 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @file stm32f4xx_hal_i2c.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief I2C HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * This file provides firmware functions to manage the following 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral: 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * + Initialization and de-initialization functions 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * + IO operation functions 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * + Peripheral State, Mode and Error functions 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** @verbatim 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ============================================================================== 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ##### How to use this driver ##### 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ============================================================================== 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** The I2C HAL driver can be used as follows: 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example: ARM GAS /tmp/ccJhhmLc.s page 178 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_HandleTypeDef hi2c; 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API: 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (##) Enable the I2Cx interface clock 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (##) I2C pins configuration 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive stream 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Configure the DMA handle parameters 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx stream 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the DMA Tx or Rx stream 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) Configure the Communication Speed, Duty cycle, Addressing mode, Own Address1, 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Dual Addressing mode, Own Address2, General call and Nostretch mode in the hi2c Init struct 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit() API. 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver : 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** Polling mode IO operation *** 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ================================= 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit( 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive() 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit() 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive() 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** Polling mode IO MEM operation *** 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ===================================== 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_ 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** Interrupt mode IO operation *** 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** =================================== 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and user can 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback() 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and user can 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and user can 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback() 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_ ARM GAS /tmp/ccJhhmLc.s page 179 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and user can 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback() 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT() 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_AbortCpltCallback() 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation *** 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ========================================================== 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** when a direction change during transfer 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Option field values are defined through I2C_XferOptions_definition and are listed below: 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functional is same as associated interfac 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** and data to transfer without a final stop condition 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** and data to transfer without a final stop condition, an then permit a c 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** several times (like HAL_I2C_Master_Seq_Transmit_IT() then HAL_I2C_Maste 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA() then HAL_I2C_Master_Seq_Transmit_D 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** interface several times (link with option I2C_FIRST_AND_NEXT_FRAME). 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Usage can, transfer several bytes one by one using HAL_I2C_Master_Seq_T 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_AND_NEXT_FRAME then 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_AND_NEXT_FRAME th 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_AND_NEXT_FRAME the 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit o 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** interface. 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_FRAME then I2C_OTHE 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_FRAME then I2C_OT 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_FRAME then I2C_OTH 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Different sequential I2C interfaces are listed below: 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using HAL_ 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or using HAL_I2C_Master_Seq_Transmit_DMA() 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback() 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using HAL_I 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or using HAL_I2C_Master_Seq_Receive_DMA() 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using HAL_I2C_Master_A 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_AbortCpltCallback() ARM GAS /tmp/ccJhhmLc.s page 180 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT() 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and user can 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code to check the Address Match Code and the transmission direction request 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and user can 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ListenCpltCallback() 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using HAL_I 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or using HAL_I2C_Slave_Seq_Transmit_DMA() 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback() 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using HAL_I2 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or using HAL_I2C_Slave_Seq_Receive_DMA() 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback() 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** Interrupt mode IO MEM operation *** 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ======================================= 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_Mem_Write_IT() 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and user can 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MemTxCpltCallback() 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_Mem_Read_IT() 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and user can 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MemRxCpltCallback() 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback() 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** DMA mode IO operation *** 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ============================== 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_Master_Transmit_DMA() 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and user can 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback() 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_Master_Receive_DMA() 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and user can 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_Slave_Transmit_DMA() 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and user can 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback() 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_Slave_Receive_DMA() 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and user can 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback() 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT() 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_AbortCpltCallback() 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** DMA mode IO MEM operation *** 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ================================= ARM GAS /tmp/ccJhhmLc.s page 181 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_Mem_Write_DMA() 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and user can 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MemTxCpltCallback() 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_Mem_Read_DMA() 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and user can 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MemRxCpltCallback() 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback() 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** I2C HAL driver macros list *** 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ================================== 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver. 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE: Enable the I2C peripheral 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE: Disable the I2C peripheral 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) __HAL_I2C_GET_FLAG: Checks whether the specified I2C flag is set or not 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *** Callback registration *** 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ============================================= 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks. 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Use Functions HAL_I2C_RegisterCallback() or HAL_I2C_RegisterAddrCallback() 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to register an interrupt callback. 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Function HAL_I2C_RegisterCallback() allows to register following callbacks: 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer. 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer. 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer. 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer. 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode. 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer. 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer. 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection. 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process. 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init. 235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit. 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** and a pointer to the user callback function. 238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : HAL_I2C_RegisterAddrCall 240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Use function HAL_I2C_UnRegisterCallback to reset a callback to the default 242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** weak function. 243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle, 244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** and the Callback ID. 245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** This function allows to reset following callbacks: 246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer. 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer. ARM GAS /tmp/ccJhhmLc.s page 182 248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer. 249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer. 250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode. 251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer. 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer. 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection. 254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process. 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init. 256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit. 257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : HAL_I2C_UnRegisterAddrCallback(). 259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** By default, after the HAL_I2C_Init() and when the state is HAL_I2C_STATE_RESET 261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions: 262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** examples HAL_I2C_MasterTxCpltCallback(), HAL_I2C_MasterRxCpltCallback(). 263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are 264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** reset to the legacy weak functions in the HAL_I2C_Init()/ HAL_I2C_DeInit() only when 265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** these callbacks are null (not registered beforehand). 266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the HAL_I2C_Init()/ HAL_I2C_DeInit() 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state. 268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Callbacks can be registered/unregistered in HAL_I2C_STATE_READY state only. 270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** in HAL_I2C_STATE_READY or HAL_I2C_STATE_RESET state, 272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks 274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** using HAL_I2C_RegisterCallback() before calling HAL_I2C_DeInit() 275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or HAL_I2C_Init() function. 276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or 278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks 279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** are set to the corresponding weak functions. 280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros 285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** @endverbatim 287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ****************************************************************************** 288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @attention 289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * 290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *

© Copyright (c) 2016 STMicroelectronics. 291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * All rights reserved.

292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * 293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * This software component is licensed by ST under BSD 3-Clause license, 294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the "License"; You may not use this file except in compliance with the 295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * License. You may obtain a copy of the License at: 296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * opensource.org/licenses/BSD-3-Clause 297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * 298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ****************************************************************************** 299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/ 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #include "stm32f4xx_hal.h" 303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @addtogroup STM32F4xx_HAL_Driver ARM GAS /tmp/ccJhhmLc.s page 183 305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @defgroup I2C I2C 309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief I2C HAL module driver 310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED 314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/ 316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/ 317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @addtogroup I2C_Private_Define 318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG 35U /*!< Timeout 35 ms */ 321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY_FLAG 25U /*!< Timeout 25 ms */ 322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_TIMEOUT_STOP_FLAG 5U /*!< Timeout 5 ms */ 323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME 0xFFFF0000U /*!< XferOptions default value */ 324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */ 326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | (uint32_ 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE)) 328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | ( 329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | ( 330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | ( 331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | ( 332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @} 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/ 338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/ 339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/ 340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private functions to handle DMA transfer */ 345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_DMAXferCplt(DMA_HandleTypeDef *hdma); 346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma); 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma); 348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c); 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint3 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32 353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16 355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */ 357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta 358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnMasterAddressFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t 359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u 360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnBTFFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, u 361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, ARM GAS /tmp/ccJhhmLc.s page 184 362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPRequestThroughIT(I2C_HandleTypeDef *hi2c); 364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c); 365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */ 367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MasterTransmit_TXE(I2C_HandleTypeDef *hi2c); 368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MasterTransmit_BTF(I2C_HandleTypeDef *hi2c); 369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MasterReceive_RXNE(I2C_HandleTypeDef *hi2c); 370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MasterReceive_BTF(I2C_HandleTypeDef *hi2c); 371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Master_SB(I2C_HandleTypeDef *hi2c); 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Master_ADD10(I2C_HandleTypeDef *hi2c); 373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Master_ADDR(I2C_HandleTypeDef *hi2c); 374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_SlaveTransmit_TXE(I2C_HandleTypeDef *hi2c); 376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_SlaveTransmit_BTF(I2C_HandleTypeDef *hi2c); 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_SlaveReceive_RXNE(I2C_HandleTypeDef *hi2c); 378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_SlaveReceive_BTF(I2C_HandleTypeDef *hi2c); 379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Slave_ADDR(I2C_HandleTypeDef *hi2c, uint32_t IT2Flags); 380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Slave_STOPF(I2C_HandleTypeDef *hi2c); 381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Slave_AF(I2C_HandleTypeDef *hi2c); 382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MemoryTransmit_TXE_BTF(I2C_HandleTypeDef *hi2c); 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Private function to Convert Specific options */ 386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c); 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @} 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/ 392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions 394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions 398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Initialization and Configuration functions 399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * 400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** @verbatim 401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** =============================================================================== 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ##### Initialization and de-initialization functions ##### 403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** =============================================================================== 404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** deinitialize the I2Cx peripheral: 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures 408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC). 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the selected configuration: 412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Communication Speed 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Duty cycle 414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Addressing mode 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Own Address 1 416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Dual Addressing mode 417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Own Address 2 418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) General call mode ARM GAS /tmp/ccJhhmLc.s page 185 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Nostretch mode 420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration 422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** of the selected I2Cx peripheral. 423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** @endverbatim 425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters 430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle. 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c) 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t freqrange; 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t pclk1; 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the I2C handle allocation */ 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c == NULL) 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_CLOCK_SPEED(hi2c->Init.ClockSpeed)); 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_DUTY_CYCLE(hi2c->Init.DutyCycle)); 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET) 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Allocate lock resource and initialize it */ 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED; 461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init the I2C Callback settings */ 464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback 465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback 466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback 467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback 468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback 469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback 470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback 471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback 472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback 473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback 474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL) ARM GAS /tmp/ccJhhmLc.s page 186 476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */ 478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC */ 481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c); 482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC */ 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c); 485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; 489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable the selected I2C peripheral */ 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /*Reset I2C*/ 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_SWRST; 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_SWRST; 496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Get PCLK1 frequency */ 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** pclk1 = HAL_RCC_GetPCLK1Freq(); 499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the minimum allowed PCLK1 frequency */ 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_MIN_PCLK_FREQ(pclk1, hi2c->Init.ClockSpeed) == 1U) 502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Calculate frequency range */ 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** freqrange = I2C_FREQRANGE(pclk1); 508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/ 510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */ 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, I2C_CR2_FREQ, freqrange); 512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /*---------------------------- I2Cx TRISE Configuration --------------------*/ 514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Configure I2Cx: Rise Time */ 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->TRISE, I2C_TRISE_TRISE, I2C_RISE_TIME(freqrange, hi2c->Init.ClockSpeed 516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /*---------------------------- I2Cx CCR Configuration ----------------------*/ 518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Configure I2Cx: Speed */ 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CCR, (I2C_CCR_FS | I2C_CCR_DUTY | I2C_CCR_CCR), I2C_SPEED(pclk1, hi2c- 520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/ 522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */ 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR1, (I2C_CR1_ENGC | I2C_CR1_NOSTRETCH), (hi2c->Init.GeneralCallMode | 524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/ 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and addressing mode */ 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->OAR1, (I2C_OAR1_ADDMODE | I2C_OAR1_ADD8_9 | I2C_OAR1_ADD1_7 | I2C_OAR1 528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/ 530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */ 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->OAR2, (I2C_OAR2_ENDUAL | I2C_OAR2_ADD2), (hi2c->Init.DualAddressMode | 532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 187 533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the selected I2C peripheral */ 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral. 546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c) 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the I2C handle allocation */ 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c == NULL) 554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; 562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */ 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL) 568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */ 570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c); 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c); 577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Release Lock */ 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 188 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Initialize the I2C MSP. 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c) 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file 603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP. 608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c) 613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file 619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Register a User I2C Callback 625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * To be used instead of the weak predefined callback 626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered 629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * This parameter can be one of the following values: 630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID 631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID 632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID 633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID 634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID 635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID 636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID 637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID 638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID 639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID 640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID 641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pCallback pointer to the Callback function 642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb 645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; ARM GAS /tmp/ccJhhmLc.s page 189 647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (pCallback == NULL) 649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process locked */ 656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** switch (CallbackID) 661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID : 663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback; 664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID : 667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback; 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID : 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback; 672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID : 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback; 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID : 679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback; 680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID : 683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback; 684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID : 687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback; 688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID : 691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback; 692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID : 695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback; 696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback; 700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback; ARM GAS /tmp/ccJhhmLc.s page 190 704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** default : 707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return error status */ 711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** status = HAL_ERROR; 712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State) 716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** switch (CallbackID) 718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback; 721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback; 725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** default : 728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return error status */ 732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** status = HAL_ERROR; 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return error status */ 742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** status = HAL_ERROR; 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Release Lock */ 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return status; 748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Unregister an I2C Callback 752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback 753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * This parameter can be one of the following values: 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * This parameter can be one of the following values: 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID 760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID ARM GAS /tmp/ccJhhmLc.s page 191 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID 762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID 764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID 765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID 767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID 768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID 769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal 772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process locked */ 776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** switch (CallbackID) 781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID : 783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb 784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID : 787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb 788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID : 791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba 792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID : 795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba 796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID : 799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac 800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID : 803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback 804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID : 807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback 808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID : 811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback 812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID : 815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback 816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 192 818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit 820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit 824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** default : 827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return error status */ 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** status = HAL_ERROR; 832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State) 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** switch (CallbackID) 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit 841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit 845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** default : 848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return error status */ 852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** status = HAL_ERROR; 853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** break; 854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return error status */ 862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** status = HAL_ERROR; 863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Release Lock */ 866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return status; 868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback 872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback 873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. ARM GAS /tmp/ccJhhmLc.s page 193 875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function 876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC 879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (pCallback == NULL) 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process locked */ 890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->AddrCallback = pCallback; 895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return error status */ 902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** status = HAL_ERROR; 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Release Lock */ 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return status; 908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal 913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c) 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process locked */ 922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */ 927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update the error code */ 931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; ARM GAS /tmp/ccJhhmLc.s page 194 932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return error status */ 934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** status = HAL_ERROR; 935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Release Lock */ 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return status; 940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @} 946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions 949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Data transfers functions 950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * 951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** @verbatim 952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** =============================================================================== 953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ##### IO operation functions ##### 954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** =============================================================================== 955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data 957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** transfers. 958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) There are two modes of transfer: 960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode. 961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** The status of all data processing is returned by the same function 962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** after finishing transfer. 963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts 964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup. 965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** The end of the data processing will be indicated through the 966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when 967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** using DMA mode. 968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) Blocking mode functions are : 970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit() 971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive() 972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit() 973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive() 974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write() 975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read() 976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady() 977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are : 979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT() 980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT() 981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT() 982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT() 983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT() 984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT() 985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT() 986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT() 987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT() 988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT() ARM GAS /tmp/ccJhhmLc.s page 195 989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT() 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT() 991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT() 992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are : 994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA() 995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA() 996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA() 997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA() 998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA() 999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA() 1000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA() 1001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA() 1002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA() 1003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA() 1004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode: 1006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback() 1007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback() 1008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback() 1009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback() 1010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback() 1011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback() 1012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback() 1013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback() 1014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback() 1015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback() 1016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** @endverbatim 1018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 1019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode. 1023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 1030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD 1033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 1036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2567 .loc 10 1037 11 is_stmt 0 view .LVU595 2568 0028 4FF0A809 mov r9, #168 @ tmp209, 2569 .LBE205: 2570 .LBE204: 2571 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:573: I2CMutex(bus); 2572 .loc 3 573 3 discriminator 3 view .LVU596 2573 002c 07F15801 add r1, r7, #88 @ _110, _173, 2574 .LBB230: ARM GAS /tmp/ccJhhmLc.s page 196 2575 .LBB202: 2576 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2577 .loc 7 102 75 view .LVU597 2578 0030 2144 add r1, r1, r4 @, tmp201 2579 0032 06A8 add r0, sp, #24 @,, 2580 .LBE202: 2581 .LBE230: 2582 .LBB231: 2583 .LBB223: 2584 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2585 .loc 10 1037 11 view .LVU598 2586 0034 09FB05F9 mul r9, r9, r5 @ tmp208, tmp209, bus 2587 .LBE223: 2588 .LBE231: 2589 .LBB232: 2590 .LBB203: 2591 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2592 .loc 7 102 75 view .LVU599 2593 0038 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 2594 .LVL127: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 2595 .loc 7 102 75 view .LVU600 2596 .LBE203: 2597 .LBE232: 574:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (HAL_I2C_Master_Transmit(h, addr << 1, data, len, timeout) != HAL_OK) { 2598 .loc 3 574 3 is_stmt 1 view .LVU601 2599 .LBB233: 2600 .LBI204: 1032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2601 .loc 10 1032 19 view .LVU602 2602 .LBB224: 1035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2603 .loc 10 1035 3 view .LVU603 2604 .LBB206: 2605 .LBI206: 2606 .file 11 "/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp" 1:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** /* 2:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * Copyright (C) EdgeTX 3:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * 4:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * Based on code named 5:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * opentx - https://github.com/opentx/opentx 6:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * th9x - http://code.google.com/p/th9x 7:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * er9x - http://code.google.com/p/er9x 8:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * gruvin9x - http://code.google.com/p/gruvin9x 9:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * 10:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html 11:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * 12:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * This program is free software; you can redistribute it and/or modify 13:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * it under the terms of the GNU General Public License version 2 as 14:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * published by the Free Software Foundation. 15:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * 16:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * This program is distributed in the hope that it will be useful, 17:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * but WITHOUT ANY WARRANTY; without even the implied warranty of 18:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** * GNU General Public License for more details. ARM GAS /tmp/ccJhhmLc.s page 197 20:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** */ 21:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** 22:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** #include "stm32_hal.h" 23:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** #include "timers_driver.h" 24:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** extern "C" uint32_t HAL_GetTick(void) 2607 .loc 11 25 21 view .LVU604 26:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 27:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** return timersGetMsTick(); 2608 .loc 11 27 5 view .LVU605 2609 .LBB207: 2610 .LBI207: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 2611 .loc 5 54 10 view .LVU606 2612 .LBB208: 2613 .loc 5 56 3 view .LVU607 2614 .LBE208: 2615 .LBE207: 2616 .LBE206: 2617 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2618 .loc 10 1037 11 is_stmt 0 view .LVU608 2619 003c 04EB090B add fp, r4, r9 @ tmp210, tmp201, tmp208 2620 .LBB211: 2621 .LBB210: 2622 .LBB209: 2623 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 2624 .loc 5 56 10 view .LVU609 2625 0040 7F4B ldr r3, .L326+4 @ tmp206, 2626 0042 1F68 ldr r7, [r3] @ _77, _ms_ticks 2627 .LVL128: 2628 .loc 5 56 10 view .LVU610 2629 .LBE209: 2630 .LBE210: 2631 .LBE211: 2632 .loc 10 1037 3 is_stmt 1 view .LVU611 2633 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2634 .loc 10 1037 11 is_stmt 0 view .LVU612 2635 0044 9BF83D30 ldrb r3, [fp, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 2636 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1037: if ( 2637 .loc 10 1037 6 view .LVU613 2638 0048 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handl 2639 004a 08D0 beq .L287 @, 2640 .LVL129: 2641 .L295: 2642 .loc 10 1037 6 view .LVU614 2643 .LBE224: 2644 .LBE233: 2645 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:575: return -1; 575:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 2646 .loc 3 575 13 view .LVU615 2647 004c 4FF0FF34 mov r4, #-1 @ , 2648 .L288: 2649 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:579: } 576:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 577:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 578:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 579:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } ARM GAS /tmp/ccJhhmLc.s page 198 2650 .loc 3 579 1 view .LVU616 2651 0050 06A8 add r0, sp, #24 @,, 2652 0052 FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 2653 .LVL130: 2654 .L285: 2655 .loc 3 579 1 view .LVU617 2656 0056 2046 mov r0, r4 @, 2657 0058 09B0 add sp, sp, #36 @,, 2658 .LCFI19: 2659 .cfi_remember_state 2660 .cfi_def_cfa_offset 36 2661 @ sp needed @ 2662 005a BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 2663 .LVL131: 2664 .L287: 2665 .LCFI20: 2666 .cfi_restore_state 2667 .LBB234: 2668 .LBB225: 1038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H 2669 .loc 10 1040 5 is_stmt 1 view .LVU618 2670 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1040: if 2671 .loc 10 1040 9 is_stmt 0 view .LVU619 2672 005e 7949 ldr r1, .L326+8 @, 2673 0060 0097 str r7, [sp] @ _77, 2674 0062 1923 movs r3, #25 @, 2675 0064 0122 movs r2, #1 @, 2676 0066 3046 mov r0, r6 @, _9 2677 0068 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 2678 .LVL132: 2679 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1040: if 2680 .loc 10 1040 8 discriminator 1 view .LVU620 2681 006c 0028 cmp r0, #0 @ tmp456 2682 006e EDD1 bne .L295 @ 1041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2683 .loc 10 1046 5 is_stmt 1 view .LVU621 2684 .loc 10 1046 5 view .LVU622 2685 0070 9BF83C30 ldrb r3, [fp, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 2686 0074 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handle 2687 0076 E9D0 beq .L295 @, 2688 .loc 10 1046 5 discriminator 2 view .LVU623 2689 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1049: if 1047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 2690 .loc 10 1049 14 is_stmt 0 view .LVU624 2691 0078 54F80920 ldr r2, [r4, r9] @ _31, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 2692 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1046: __ 1046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2693 .loc 10 1046 5 discriminator 2 view .LVU625 ARM GAS /tmp/ccJhhmLc.s page 199 2694 007c 0123 movs r3, #1 @ tmp227, 2695 007e 8BF83C30 strb r3, [fp, #60] @ tmp227, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2696 .loc 10 1046 5 is_stmt 1 view .LVU626 2697 .loc 10 1049 5 view .LVU627 2698 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1049: if 2699 .loc 10 1049 24 is_stmt 0 view .LVU628 2700 0082 1368 ldr r3, [r2] @ _32, _31->CR1 2701 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1049: if 2702 .loc 10 1049 8 view .LVU629 2703 0084 D907 lsls r1, r3, #31 @, _32, 1050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 2704 .loc 10 1052 7 is_stmt 1 view .LVU630 2705 0086 5EBF ittt pl 2706 0088 1368 ldrpl r3, [r2] @ _34, _31->CR1 2707 008a 43F00103 orrpl r3, r3, #1 @ _35, _34, 2708 008e 1360 strpl r3, [r2] @ _35, _31->CR1 1053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2709 .loc 10 1056 5 view .LVU631 2710 0090 1368 ldr r3, [r2] @ _36, _31->CR1 2711 0092 23F40063 bic r3, r3, #2048 @ _37, _36, 2712 0096 1360 str r3, [r2] @ _37, _31->CR1 1057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2713 .loc 10 1058 5 view .LVU632 2714 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1058: hi 2715 .loc 10 1058 23 is_stmt 0 view .LVU633 2716 0098 A823 movs r3, #168 @ tmp236, 2717 009a 03FB0543 mla r3, r3, r5, r4 @ tmp237, tmp236, bus, tmp201 2718 009e 2121 movs r1, #33 @ tmp239, 2719 00a0 83F83D10 strb r1, [r3, #61] @ tmp239, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 2720 .loc 10 1059 5 is_stmt 1 view .LVU634 2721 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1059: hi 2722 .loc 10 1059 23 is_stmt 0 view .LVU635 2723 00a4 1021 movs r1, #16 @ tmp246, 2724 00a6 83F83E10 strb r1, [r3, #62] @ tmp246, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2725 .loc 10 1060 5 is_stmt 1 view .LVU636 2726 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1060: hi 2727 .loc 10 1060 23 is_stmt 0 view .LVU637 2728 00aa 0021 movs r1, #0 @ tmp253, 2729 00ac 1964 str r1, [r3, #64] @ tmp253, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 1061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 1063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2730 .loc 10 1063 5 is_stmt 1 view .LVU638 2731 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1064: hi 1064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2732 .loc 10 1064 23 is_stmt 0 view .LVU639 2733 00ae A3F82AA0 strh r10, [r3, #42] @ movhi @ len, MEM [(struct I2C_HandleTypeDef *)& 2734 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1063: hi ARM GAS /tmp/ccJhhmLc.s page 200 1063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2735 .loc 10 1063 23 view .LVU640 2736 00b2 0399 ldr r1, [sp, #12] @ data, %sfp 2737 00b4 5962 str r1, [r3, #36] @ data, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2738 .loc 10 1064 5 is_stmt 1 view .LVU641 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2739 .loc 10 1065 5 view .LVU642 2740 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1065: hi 2741 .loc 10 1065 29 is_stmt 0 view .LVU643 2742 00b6 598D ldrh r1, [r3, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 2743 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1065: hi 2744 .loc 10 1065 23 view .LVU644 2745 00b8 1985 strh r1, [r3, #40] @ movhi @ MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2746 .loc 10 1066 5 is_stmt 1 view .LVU645 2747 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1066: hi 2748 .loc 10 1066 23 is_stmt 0 view .LVU646 2749 00ba 6349 ldr r1, .L326+12 @ tmp282, 2750 00bc D962 str r1, [r3, #44] @ tmp282, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 1067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Slave Address */ 1069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_MasterRequestWrite(hi2c, DevAddress, Timeout, tickstart) != HAL_OK) 2751 .loc 10 1069 5 is_stmt 1 view .LVU647 2752 .LVL133: 2753 .LBB212: 2754 .LBI212: 1070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 1076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (hi2c->XferSize > 0U) 1078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until TXE flag is set */ 1080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 1083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 1085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 1086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 1092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U)) ARM GAS /tmp/ccJhhmLc.s page 201 1101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 1103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 1104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BTF flag is set */ 1114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnBTFFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 1117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 1120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 1126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 1127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 1135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode. 1144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 1151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa 1154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 1157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 202 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H 1162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 1174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 1184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 1186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Slave Address */ 1190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_MasterRequestRead(hi2c, DevAddress, Timeout, tickstart) != HAL_OK) 1191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize == 0U) 1196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 1199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 1201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 1202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferSize == 1U) 1204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 1206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 1210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 1212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 1213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferSize == 2U) ARM GAS /tmp/ccJhhmLc.s page 203 1215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 1217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Pos */ 1220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 1224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 1228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 1232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (hi2c->XferSize > 0U) 1235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize <= 3U) 1237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* One byte */ 1239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize == 1U) 1240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 1242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Two bytes */ 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferSize == 2U) 1259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BTF flag is set */ 1261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK) 1262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 1267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 1268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 204 1272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* 3 Last bytes */ 1290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BTF flag is set */ 1293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK) 1294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 1299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BTF flag is set */ 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK) 1313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 1318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 1319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; ARM GAS /tmp/ccJhhmLc.s page 205 1329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 1344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) 1360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 1381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 206 1386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode. 1390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 1395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, ui 1398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 1401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 1405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 1414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 1417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 1427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 1429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 1442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); ARM GAS /tmp/ccJhhmLc.s page 207 1443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If 10bit addressing mode is selected */ 1445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) 1446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 1454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 1455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (hi2c->XferSize > 0U) 1458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until TXE flag is set */ 1460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 1469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 1470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U)) 1479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 1481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 1482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until AF flag is set */ 1493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart) != HAL_OK) 1494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear AF flag */ 1499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); ARM GAS /tmp/ccJhhmLc.s page 208 1500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 1511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode 1520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 1525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uin 1528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 1531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == (uint16_t)0)) 1535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 1544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 1547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ ARM GAS /tmp/ccJhhmLc.s page 209 1557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 1559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 1572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 1573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (hi2c->XferSize > 0U) 1575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 1577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U)) 1596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 1598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 1599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 1601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 1602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 1604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 1605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 1606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until STOP flag is set */ 1610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); ARM GAS /tmp/ccJhhmLc.s page 210 1614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear STOP flag */ 1619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_STOPFLAG(hi2c); 1620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 1631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt 1640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 1649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 1651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 1656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 1657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 1659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 1660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 1665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 211 1671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 1673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 1679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 1682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 1692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 1694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 1697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 1704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 1705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 1706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 1708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 1709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 1711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt 1720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ ARM GAS /tmp/ccJhhmLc.s page 212 1728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t * 1729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 1731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 1736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 1737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 1739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 1740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 1745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 1753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 1759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 1762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 1772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 1774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 1777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ ARM GAS /tmp/ccJhhmLc.s page 213 1785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 1787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 1788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 1790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 1793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 1794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 1796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt 1805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) 1812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 1817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 1826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 1829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 1839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 1841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; ARM GAS /tmp/ccJhhmLc.s page 214 1842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 1853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 1855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 1856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 1858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt 1867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) 1874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 1879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 1888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 1891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; ARM GAS /tmp/ccJhhmLc.s page 215 1899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 1901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 1903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 1908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 1915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 1917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 1918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 1920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 1922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 1924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 1928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA 1929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 1931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 1934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 1935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 1936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 1937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 1938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 1940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 1941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 1946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 1947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 1949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 1950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 1955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 216 1956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 1957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 1960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 1963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 1965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 1968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 1969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 1971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 1972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 1973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 1975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 1976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 1982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 1984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 1987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 1989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 1991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 1992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 1993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt; 1994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 1996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 1997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 1998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 1999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 2000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferM1CpltCallback = NULL; 2001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferM1HalfCpltCallback = NULL; 2002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 2003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 2005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->I 2006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 2010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 217 2013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 2014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 2030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 2032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 2033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 2035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 2036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 2038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 2039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 2041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 2042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 2046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 2050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 2061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 2062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 2064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 2065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process ARM GAS /tmp/ccJhhmLc.s page 218 2070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 2072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 2074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 2075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 2078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 2086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA 2087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 2089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 2092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 2093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 2094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 2095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 2096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 2098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 2103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 2104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 2105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 2107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 2108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 2110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 2113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 2121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 2123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 2126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) ARM GAS /tmp/ccJhhmLc.s page 219 2127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 2129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 2130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 2133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 2137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 2140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 2145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 2147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 2149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt; 2152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 2154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 2155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 2158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferM1CpltCallback = NULL; 2159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferM1HalfCpltCallback = NULL; 2160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 2161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 2163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2 2164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 2168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 2172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 2183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); ARM GAS /tmp/ccJhhmLc.s page 220 2184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 2186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 2187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 2194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 2196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 2197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 2199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 2200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 2204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 2208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 2224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 2226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 2227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 2229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 2230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 2232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 2233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 2236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 221 2241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 2244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA 2245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 2247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 2248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 2249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 2250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 2251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size 2252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 2263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 2266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 2267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 2269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 2270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 2273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 2280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 2286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt; 2289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 2291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 2292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 2295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferM1CpltCallback = NULL; 2296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferM1HalfCpltCallback = NULL; 2297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; ARM GAS /tmp/ccJhhmLc.s page 222 2298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 2300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Ins 2301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 2305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 2309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 2320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 2321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 2328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 2329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 2330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 2332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_DMAEN; 2333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 2335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 2339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 2343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 223 2355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 2358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA 2359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 2361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 2362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 2363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 2364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 2365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) 2366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 2377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 2380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 2381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 2383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 2384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 2387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 2394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 2400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt; 2403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 2405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 2406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 2409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferM1CpltCallback = NULL; 2410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferM1HalfCpltCallback = NULL; 2411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; ARM GAS /tmp/ccJhhmLc.s page 224 2412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 2414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c- 2415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 2419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 2423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 2434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 2435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 2442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 2443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 2444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 2446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 2447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 2449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 2453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 2457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 225 2469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 2472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address 2473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 2475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddress Internal memory address 2478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 2480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 2481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 2482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 2483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 2484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre 2485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 2487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 2488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 2490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 2495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H 2496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 2504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 2505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 2507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 2508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 2511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 2518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL 2525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 226 2526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (hi2c->XferSize > 0U) 2530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until TXE flag is set */ 2532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 2535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 2537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 2538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 2543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 2544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) && (hi2c->XferSize != 0U)) 2553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 2555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 2556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BTF flag is set */ 2567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnBTFFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 2570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 2572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 2573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 2578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 2579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 227 2583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 2587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 2595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address 2596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 2598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddress Internal memory address 2601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 2603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 2604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 2605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 2606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 2607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres 2608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 2610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 2611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 2613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 2618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H 2619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 2627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 2628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 2630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 2631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 2634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 228 2640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 2641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_ 2648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize == 0U) 2653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 2656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 2658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 2659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferSize == 1U) 2661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 2663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 2664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 2667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 2669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 2670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferSize == 2U) 2672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 2674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 2675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Pos */ 2677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 2681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 2686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (hi2c->XferSize > 0U) 2689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize <= 3U) 2691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* One byte */ 2693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize == 1U) 2694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 2696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) ARM GAS /tmp/ccJhhmLc.s page 229 2697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 2702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 2703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Two bytes */ 2712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferSize == 2U) 2713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BTF flag is set */ 2715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK) 2716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 2721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 2722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 2724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 2725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 2734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 2735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* 3 Last bytes */ 2744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BTF flag is set */ 2747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK) 2748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 2753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); ARM GAS /tmp/ccJhhmLc.s page 230 2754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 2756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 2757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BTF flag is set */ 2766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BTF, RESET, Timeout, tickstart) != HAL_OK) 2767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 2772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 2773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 2775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 2776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 2785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 2786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 2798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 2804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 2805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; ARM GAS /tmp/ccJhhmLc.s page 231 2811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) 2814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 2816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 2817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 2819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 2820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 2822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 2823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 2824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 2835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 2843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres 2844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 2846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddress Internal memory address 2849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 2851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 2852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 2853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 2854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd 2855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 2857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 2859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 2864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 2865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 2866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; ARM GAS /tmp/ccJhhmLc.s page 232 2868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 2869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 2871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 2874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 2882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 2884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 2887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 2888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 2890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 2891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 2894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 2901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 2906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Memaddress = MemAddress; 2907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize; 2908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount = 0U; 2909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 2911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 2912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 2919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 2921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 2922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 2924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 233 2925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 2926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 2928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 2932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre 2933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 2935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address 2936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddress Internal memory address 2937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 2939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 2940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 2941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 2942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd 2943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 2945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 2947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 2952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 2953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 2954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 2956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 2957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 2959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 2962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 2964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 2967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 2970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 2972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 2975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 2976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 2978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 2979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ ARM GAS /tmp/ccJhhmLc.s page 234 2982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 2983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 2989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 2991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 2994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Memaddress = MemAddress; 2995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize; 2996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount = 0U; 2997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 2999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 3002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 3003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 3008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 3012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 3014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 3015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 3017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 3021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 3025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address 3026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 3028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddress Internal memory address 3031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 3032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 3033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 3034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 3035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 3036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA 3037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; ARM GAS /tmp/ccJhhmLc.s page 235 3039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 3042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 3043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 3045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 3046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 3051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 3052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 3054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 3055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 3057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 3068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 3070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 3073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 3074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 3076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 3077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 3080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 3081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 3083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 3084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 3087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 3089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 3092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Memaddress = MemAddress; 3093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize; 3094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount = 0U; 3095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 236 3096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 3097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 3099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt; 3102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 3104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 3105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 3108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferM1CpltCallback = NULL; 3109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferM1HalfCpltCallback = NULL; 3110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 3111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 3113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->I 3114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 3118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 3122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 3133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tick 3134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort the ongoing DMA */ 3136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Abort_IT(hi2c->hdmatx); 3137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation and MISRA warning */ 3139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(dmaxferstatus); 3140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused I2C DMA transfer complete callback to NULL */ 3142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = NULL; 3143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 3145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = 0U; 3148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = 0U; 3149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */ 3151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 3152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 237 3153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 3157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 3158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 3165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable ERR interrupt */ 3166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_ERR); 3167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 3169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 3170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 3172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 3176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 3180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 3191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 3195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_SIZE; 3196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 3206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** ARM GAS /tmp/ccJhhmLc.s page 238 3210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address. 3211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 3213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddress Internal memory address 3216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 3217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 3218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be read 3219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 3220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 3221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd 3222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 3224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 3225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 3226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 3229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 3230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 3235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 3236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 3238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 3239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 3241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 3252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 3254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 3257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 3258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 3260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 3261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 3264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 3265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; ARM GAS /tmp/ccJhhmLc.s page 239 3267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 3268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 3271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 3273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 3276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Memaddress = MemAddress; 3277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemaddSize = MemAddSize; 3278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount = 0U; 3279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 3281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 3283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt; 3286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 3288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 3289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 3292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferM1CpltCallback = NULL; 3293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferM1HalfCpltCallback = NULL; 3294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 3295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 3297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2 3298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 3302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 3306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 3317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, ticks 3318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort the ongoing DMA */ 3320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Abort_IT(hi2c->hdmarx); 3321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation and MISRA warning */ 3323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(dmaxferstatus); ARM GAS /tmp/ccJhhmLc.s page 240 3324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused I2C DMA transfer complete callback to NULL */ 3326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = NULL; 3327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 3329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = 0U; 3332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = 0U; 3333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */ 3335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 3336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize == 1U) 3341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 3343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Last DMA bit */ 3348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST); 3349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 3352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 3353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 3360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable ERR interrupt */ 3361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_ERR); 3362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 3364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_DMAEN; 3365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 3369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 3373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 241 3381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 3384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, ticksta 3385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 3390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 3391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 3393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 3394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 3402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 3406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 3410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Checks if target device is ready for communication. 3411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This function is used with Memory devices 3412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 3414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Trials Number of trials 3417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 3418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 3419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 3420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria 3421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Get tick */ 3423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tickstart = HAL_GetTick(); 3424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t I2C_Trials = 1U; 3425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** FlagStatus tmp1; 3426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** FlagStatus tmp2; 3427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) != H 3432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 3434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 3437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); ARM GAS /tmp/ccJhhmLc.s page 242 3438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 3440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 3441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 3443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 3444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 3447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 3448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; 3450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 3454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 3456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 3457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until SB flag is set */ 3459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, tickstart) != HAL_OK) 3460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR1, I2C_CR1_START) == I2C_CR1_START) 3462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_WRONG_START; 3464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_TIMEOUT; 3466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 3469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress); 3470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR or AF flag are set */ 3472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Get tick */ 3473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tickstart = HAL_GetTick(); 3474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 3476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET)) 3478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 3480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_TIMEOUT; 3482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 3484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 3485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the ADDR flag has been set */ 3490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR) == SET) 3491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 3493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 3494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 243 3495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR Flag */ 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 3497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) 3500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 3510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 3514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 3515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear AF Flag */ 3517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 3518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY_FLAG, tickstart) 3521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Trials */ 3527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_Trials++; 3528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (I2C_Trials < Trials); 3530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 3541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 3545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte 3546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 3549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer ARM GAS /tmp/ccJhhmLc.s page 244 3552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 3553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition 3554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 3555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 3556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint 3557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U; 3559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0x00U; 3560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 3562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check Busy Flag only if FIRST call of Master interface */ 3567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((READ_BIT(hi2c->Instance->CR1, I2C_CR1_STOP) == I2C_CR1_STOP) || (XferOptions == I2C_FIRST_ 3568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 3571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 3572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 3574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 3575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 3577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 3588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 3591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 3594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 3595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 3597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 3598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 3601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 3602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 3604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 3608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; ARM GAS /tmp/ccJhhmLc.s page 245 3609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 3610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 3613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Prev_State = hi2c->PreviousState; 3615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene 3617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOpti 3619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 3621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 3622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 3630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 3632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 3633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 3635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 3639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 3643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA. 3644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 3647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 3650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 3651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition 3652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 3653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 3654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin 3655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U; 3657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0x00U; 3658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 3661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check Busy Flag only if FIRST call of Master interface */ ARM GAS /tmp/ccJhhmLc.s page 246 3666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((READ_BIT(hi2c->Instance->CR1, I2C_CR1_STOP) == I2C_CR1_STOP) || (XferOptions == I2C_FIRST_ 3667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 3670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 3671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 3673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 3674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 3676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 3687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 3690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 3693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 3694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 3696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 3697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 3700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 3701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 3703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 3707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 3709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 3712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Prev_State = hi2c->PreviousState; 3714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 3716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 3718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt; 3721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ ARM GAS /tmp/ccJhhmLc.s page 247 3723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 3724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 3727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 3728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 3730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->I 3731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 3735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 3739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 3750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not 3753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(Xfer 3755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 3757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 3758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 3766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If XferOptions is not associated to a new frame, mean no start bit is request, enable di 3768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* In other cases, DMA request is enabled after Slave address treatment in IRQHandler */ 3769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((XferOptions == I2C_NEXT_FRAME) || (XferOptions == I2C_LAST_FRAME) || (XferOptions == I 3770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 3772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 3773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 3776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 3777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 248 3780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 3781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 3785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 3796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not ge 3799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_TX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOp 3801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 3803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 3804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 3812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 3814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 3815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 3818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 3822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 3826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter 3827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 3830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 3833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 3834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition 3835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 3836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ ARM GAS /tmp/ccJhhmLc.s page 249 3837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8 3838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U; 3840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 3841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 3842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 3844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check Busy Flag only if FIRST call of Master interface */ 3849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((READ_BIT(hi2c->Instance->CR1, I2C_CR1_STOP) == I2C_CR1_STOP) || (XferOptions == I2C_FIRST_ 3850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 3853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 3854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 3856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 3857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 3859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 3870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 3873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 3876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 3877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 3879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 3880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 3883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 3884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 3886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 3890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 3892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; ARM GAS /tmp/ccJhhmLc.s page 250 3894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 3895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Prev_State = hi2c->PreviousState; 3897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->XferCount == 2U) && ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_LAST_FRA 3899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (Prev_State == I2C_STATE_MASTER_BUSY_RX) 3901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 3903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Pos */ 3906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 3907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Remove Enabling of IT_BUF, mean RXNE treatment, treat the 2 bytes through BTF */ 3909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** enableIT &= ~I2C_IT_BUF; 3910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 3914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 3920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene 3924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOpti 3926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 3928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 3929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 3937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable interrupts */ 3939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, enableIT); 3940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 3942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 3944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 3946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 3950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Sequential receive in master mode an amount of data in non-blocking mode with DMA ARM GAS /tmp/ccJhhmLc.s page 251 3951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 3954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 3957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 3958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition 3959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 3960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 3961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint 3962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t Prev_State = 0x00U; 3964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __IO uint32_t count = 0U; 3965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t enableIT = (I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 3966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 3969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check Busy Flag only if FIRST call of Master interface */ 3974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((READ_BIT(hi2c->Instance->CR1, I2C_CR1_STOP) == I2C_CR1_STOP) || (XferOptions == I2C_FIRST_ 3975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 3977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count = I2C_TIMEOUT_BUSY_FLAG * (SystemCoreClock / 25U / 1000U); 3978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** do 3979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** count--; 3981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (count == 0U) 3982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 3984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 3989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 3992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET); 3995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 3998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 4001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 4002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 4004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 4005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ ARM GAS /tmp/ccJhhmLc.s page 252 4008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 4009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear Last DMA bit */ 4011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_LAST); 4012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 4014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 4015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 4018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 4020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 4023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** Prev_State = hi2c->PreviousState; 4025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 4027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->XferCount == 2U) && ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_LAST_F 4029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (Prev_State == I2C_STATE_MASTER_BUSY_RX) 4031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 4033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Pos */ 4036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 4037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Last DMA bit */ 4039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST); 4040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 4044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 4050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((XferOptions == I2C_LAST_FRAME) || (XferOptions == I2C_OTHER_AND_LAST_FRAME) || (XferOp 4053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Last DMA bit */ 4055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST); 4056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 4061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt; 4062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 4064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; ARM GAS /tmp/ccJhhmLc.s page 253 4065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 4067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 4068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 4071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2 4072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 4076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 4077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 4080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 4081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 4088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not 4090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 4091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(Xfer 4092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 4094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 4095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update interrupt for only EVT and ERR */ 4097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** enableIT = (I2C_IT_EVT | I2C_IT_ERR); 4098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update interrupt for only ERR */ 4102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** enableIT = I2C_IT_ERR; 4103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 4111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If XferOptions is not associated to a new frame, mean no start bit is request, enable di 4113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* In other cases, DMA request is enabled after Slave address treatment in IRQHandler */ 4114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((XferOptions == I2C_NEXT_FRAME) || (XferOptions == I2C_LAST_FRAME) || (XferOptions == I 4115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 4117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 4118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 4121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, enableIT); ARM GAS /tmp/ccJhhmLc.s page 254 4122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 4126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 4127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 4130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 4131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 4141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not ge 4144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 4145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOp 4146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 4148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 4149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 4157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable interrupts */ 4159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, enableIT); 4160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 4162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 4166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Sequential transmit in slave mode an amount of data in non-blocking mode with Interrupt 4171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 4175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 4176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition 4177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 4178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ ARM GAS /tmp/ccJhhmLc.s page 255 4179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S 4180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 4182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 4185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 4192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 4195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 4196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 4198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 4199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 4202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 4203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; 4205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 4209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 4211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 4215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 4216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 4223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 4225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 4226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 4228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 4232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** ARM GAS /tmp/ccJhhmLc.s page 256 4236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Sequential transmit in slave mode an amount of data in non-blocking mode with DMA 4237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 4241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 4242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition 4243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 4244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t 4246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 4250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 4253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 4260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 4263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 4264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 4266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */ 4267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 4268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) 4270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 4275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 4279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA RX */ 4281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 4282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 4285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 4290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) 4292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 257 4293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 4294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 4301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA TX */ 4303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 4304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 4307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Nothing to do */ 4314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 4317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 4318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 4320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 4321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 4324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 4325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; 4327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 4331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 4333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 4339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAXferCplt; 4340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 4342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 4343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 4345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 4346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 4347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 4349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Ins ARM GAS /tmp/ccJhhmLc.s page 258 4350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 4354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 4358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 4359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 4367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 4372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 4373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 4380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 4381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 4382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 4384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_DMAEN; 4385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 4387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 4391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 4392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 4395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 4396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 4406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 259 4407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Sequential receive in slave mode an amount of data in non-blocking mode with Interrupt 4411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 4415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 4416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition 4417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 4418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si 4420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 4422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 4425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 4432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 4435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 4436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 4438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 4439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 4442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 4443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; 4445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 4449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 4451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 4455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 4456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 4463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 260 4464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT, BUF and ERR interrupt */ 4465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 4466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 4468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 4472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Sequential receive in slave mode an amount of data in non-blocking mode with DMA 4477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param pData Pointer to data buffer 4481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Size Amount of data to be sent 4482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XferOptions_definition 4483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 4484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S 4486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check the parameters */ 4490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 4493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 4500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 4503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 4504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 4506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */ 4507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 4508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) 4510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 4515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 4519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA RX */ ARM GAS /tmp/ccJhhmLc.s page 261 4521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 4522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 4525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 4530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) 4532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 4534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 4541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA TX */ 4543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 4544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 4547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Nothing to do */ 4554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 4557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 4558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 4560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 4561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos */ 4564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 4565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; 4567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare transfer parameters */ 4571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 4573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 262 4578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 4579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAXferCplt; 4580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA error callback */ 4582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 4583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 4585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 4586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable the DMA stream */ 4589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->DR, (uint32_t)hi2c- 4590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 4594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ 4598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 4599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 4607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 4612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 4613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 4618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 4619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** process unlock */ 4623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 4624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 4625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 4627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C state */ 4631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 4632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update I2C error code */ ARM GAS /tmp/ccJhhmLc.s page 263 4635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 4636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 4646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt. 4651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 4654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c) 4656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 4658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Check if the I2C is already enabled */ 4662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_PE) != I2C_CR1_PE) 4663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable I2C peripheral */ 4665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 4666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable EVT and ERR interrupt */ 4672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 4673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 4675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 4679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt. 4684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 4687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c) 4689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 4691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tmp; ARM GAS /tmp/ccJhhmLc.s page 264 4692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */ 4694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN) 4695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK; 4697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); 4698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 4699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Address Acknowledge */ 4702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT and ERR interrupt */ 4705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 4706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 4708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_BUSY; 4712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt. 4717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 4720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 4721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 4722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress) 4724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */ 4726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode; 4727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(DevAddress); 4730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort Master transfer during Receive or Transmit process */ 4732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && (CurrentMode == HAL_I2C_MODE_MASTER)) 4733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Locked */ 4735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 4738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT; 4739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 4741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 4744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 4745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = 0U; 4747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ ARM GAS /tmp/ccJhhmLc.s page 265 4749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 4750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 4752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 4755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_ITError(hi2c); 4756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 4758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wrong usage of abort function */ 4762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */ 4763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Or periphal is not in busy state, mean there is no active sequence to be abort */ 4764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 4765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @} 4770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks 4773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 4774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request. 4778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 4781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) 4783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t sr1itflags; 4785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t sr2itflags = 0U; 4786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2); 4787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions; 4788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode; 4789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State; 4790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Master or Memory mode selected */ 4792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentMode == HAL_I2C_MODE_MASTER) || (CurrentMode == HAL_I2C_MODE_MEM)) 4793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** sr2itflags = READ_REG(hi2c->Instance->SR2); 4795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1); 4796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Exit IRQ event until Start Bit detected in case of Other frame requested */ 4798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_SB) == RESET) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUES 4799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return; 4801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* SB Set ----------------------------------------------------------------*/ 4804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_SB) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I 4805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 266 4806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 4807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); 4808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_Master_SB(hi2c); 4810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* ADD10 Set -------------------------------------------------------------*/ 4812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADD10) != RESET) && (I2C_CHECK_IT_SOURCE(itsource 4813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_Master_ADD10(hi2c); 4815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* ADDR Set --------------------------------------------------------------*/ 4817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources 4818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_Master_ADDR(hi2c); 4820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C in mode Transmitter -----------------------------------------------*/ 4822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (I2C_CHECK_FLAG(sr2itflags, I2C_FLAG_TRA) != RESET) 4823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do not check buffer and BTF flag if a Xfer DMA is on going */ 4825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN) 4826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* TXE set and BTF reset -----------------------------------------------*/ 4828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_TXE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, 4829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_MasterTransmit_TXE(hi2c); 4831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* BTF set -------------------------------------------------------------*/ 4833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsour 4834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (CurrentState == HAL_I2C_STATE_BUSY_TX) 4836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_MasterTransmit_BTF(hi2c); 4838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else /* HAL_I2C_MODE_MEM */ 4840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (CurrentMode == HAL_I2C_MODE_MEM) 4842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_MemoryTransmit_TXE_BTF(hi2c); 4844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 4850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C in mode Receiver --------------------------------------------------*/ 4854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do not check buffer and BTF flag if a Xfer DMA is on going */ 4857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN) 4858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* RXNE set and BTF reset -----------------------------------------------*/ 4860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, 4861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_MasterReceive_RXNE(hi2c); ARM GAS /tmp/ccJhhmLc.s page 267 4863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* BTF set -------------------------------------------------------------*/ 4865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsour 4866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_MasterReceive_BTF(hi2c); 4868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 4872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Slave mode selected */ 4877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If an error is detected, read only SR1 register to prevent */ 4880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* a clear of ADDR flags by reading SR2 after reading SR1 in Error treatment */ 4881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE) 4882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1); 4884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** sr2itflags = READ_REG(hi2c->Instance->SR2); 4888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** sr1itflags = READ_REG(hi2c->Instance->SR1); 4889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* ADDR set --------------------------------------------------------------*/ 4892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C 4893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Now time to read SR2, this will clear ADDR flag automatically */ 4895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE) 4896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** sr2itflags = READ_REG(hi2c->Instance->SR2); 4898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_Slave_ADDR(hi2c, sr2itflags); 4900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* STOPF set --------------------------------------------------------------*/ 4902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource 4903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_Slave_STOPF(hi2c); 4905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C in mode Transmitter -----------------------------------------------*/ 4907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((CurrentState == HAL_I2C_STATE_BUSY_TX) || (CurrentState == HAL_I2C_STATE_BUSY_TX_LIST 4908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* TXE set and BTF reset -----------------------------------------------*/ 4910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_TXE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2 4911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_SlaveTransmit_TXE(hi2c); 4913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* BTF set -------------------------------------------------------------*/ 4915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource 4916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_SlaveTransmit_BTF(hi2c); 4918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else ARM GAS /tmp/ccJhhmLc.s page 268 4920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 4922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C in mode Receiver --------------------------------------------------*/ 4925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* RXNE set and BTF reset ----------------------------------------------*/ 4928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I 4929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_SlaveReceive_RXNE(hi2c); 4931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* BTF set -------------------------------------------------------------*/ 4933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BTF) != RESET) && (I2C_CHECK_IT_SOURCE(itsource 4934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_SlaveReceive_BTF(hi2c); 4936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 4940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 4946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request. 4947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 4949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 4950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 4951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c) 4952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp1; 4954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tmp2; 4955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmp3; 4956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tmp4; 4957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t sr1itflags = READ_REG(hi2c->Instance->SR1); 4958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR2); 4959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t error = HAL_I2C_ERROR_NONE; 4960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode; 4961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ----------------------------------------*/ 4963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_BERR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I 4964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** error |= HAL_I2C_ERROR_BERR; 4966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear BERR flag */ 4968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); 4969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C Arbitration Lost error interrupt occurred ---------------------------*/ 4972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_ARLO) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_I 4973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** error |= HAL_I2C_ERROR_ARLO; 4975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ARLO flag */ ARM GAS /tmp/ccJhhmLc.s page 269 4977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); 4978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C Acknowledge failure error interrupt occurred ------------------------*/ 4981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ 4982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp1 = CurrentMode; 4984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = hi2c->XferCount; 4985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp3 = hi2c->State; 4986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp4 = hi2c->PreviousState; 4987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((tmp1 == HAL_I2C_MODE_SLAVE) && (tmp2 == 0U) && \ 4988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_BUSY_TX) || (tmp3 == HAL_I2C_STATE_BUSY_TX_LISTEN) || \ 4989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ((tmp3 == HAL_I2C_STATE_LISTEN) && (tmp4 == I2C_STATE_SLAVE_BUSY_TX)))) 4990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_Slave_AF(hi2c); 4992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 4994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear AF flag */ 4996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 4997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** error |= HAL_I2C_ERROR_AF; 4999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do not generate a STOP in case of Slave receive non acknowledge during transfer (mean not 5001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentMode == HAL_I2C_MODE_MASTER) || (CurrentMode == HAL_I2C_MODE_MEM)) 5002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 5004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 5005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred -------------------------------*/ 5010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(sr1itflags, I2C_FLAG_OVR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT 5011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** error |= HAL_I2C_ERROR_OVR; 5013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear OVR flag */ 5014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); 5015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected -----------------------*/ 5018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (error != HAL_I2C_ERROR_NONE) 5019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= error; 5021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_ITError(hi2c); 5022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback. 5027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c) 5032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ ARM GAS /tmp/ccJhhmLc.s page 270 5034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file 5038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback. 5043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c) 5048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file 5054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback. 5058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c) 5063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file 5069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback. 5074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c) 5079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file 5085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Slave Address Match callback. 5090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains ARM GAS /tmp/ccJhhmLc.s page 271 5091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_Xfe 5093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code 5094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM 5097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(TransferDirection); 5101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(AddrMatchCode); 5102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file 5105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Listen Complete callback. 5110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c) 5115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file 5121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback. 5126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c) 5131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file 5137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback. 5142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c) 5147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 272 5148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file 5153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief I2C error callback. 5158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) 5163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file 5169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief I2C abort callback. 5174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c) 5179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** UNUSED(hi2c); 5182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 5184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file 5185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @} 5190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions 5193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions 5194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * 5195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** @verbatim 5196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** =============================================================================== 5197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions ##### 5198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** =============================================================================== 5199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** [..] 5200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral 5201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** and the data flow. 5202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** @endverbatim 5204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ ARM GAS /tmp/ccJhhmLc.s page 273 5205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Return the I2C handle state. 5209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL state 5212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c) 5214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Return I2C handle state */ 5216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return hi2c->State; 5217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode. 5221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL mode 5224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c) 5226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return hi2c->Mode; 5228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Return the I2C error code. 5232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for the specified I2C. 5234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval I2C Error Code 5235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c) 5237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return hi2c->ErrorCode; 5239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @} 5243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @} 5247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions 5250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @{ 5251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle TXE flag for Master 5255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MasterTransmit_TXE(I2C_HandleTypeDef *hi2c) 5260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */ ARM GAS /tmp/ccJhhmLc.s page 274 5262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State; 5263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode; 5264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions; 5265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->XferSize == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_TX)) 5267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call TxCpltCallback() directly if no stop mode is set */ 5269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAST_FRAME) 5270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 5272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 5274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); 5279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); 5281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else /* Generate Stop condition then Call TxCpltCallback() */ 5284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 5286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 5287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 5289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 5290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 5292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 5295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c); 5299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c); 5301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); 5308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); 5310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((CurrentState == HAL_I2C_STATE_BUSY_TX) || \ 5315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ((CurrentMode == HAL_I2C_MODE_MEM) && (CurrentState == HAL_I2C_STATE_BUSY_RX))) 5316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 5318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 275 5319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable BUF interrupt */ 5320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF); 5321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 5325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_MemoryTransmit_TXE_BTF(hi2c); 5327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 5331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 5332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 5344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle BTF flag for Master transmitter 5349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MasterTransmit_BTF(I2C_HandleTypeDef *hi2c) 5354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */ 5356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions; 5357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 5359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 5361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 5363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 5364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call TxCpltCallback() directly if no stop mode is set */ 5374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAST_FRAME 5375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 276 5376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 5377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 5379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); 5384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); 5386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else /* Generate Stop condition then Call TxCpltCallback() */ 5389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 5391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 5392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 5394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 5395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 5397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 5399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c); 5403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c); 5405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); 5413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); 5415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 5423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle TXE and BTF flag for Memory transmitter 5428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MemoryTransmit_TXE_BTF(I2C_HandleTypeDef *hi2c) ARM GAS /tmp/ccJhhmLc.s page 277 5433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */ 5435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State; 5436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->EventCount == 0U) 5438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 5440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->MemaddSize == I2C_MEMADD_SIZE_8BIT) 5441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Memory Address */ 5443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(hi2c->Memaddress); 5444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount += 2U; 5446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 5448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send MSB of Memory Address */ 5451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_MSB(hi2c->Memaddress); 5452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount++; 5454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->EventCount == 1U) 5457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send LSB of Memory Address */ 5459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(hi2c->Memaddress); 5460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount++; 5462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->EventCount == 2U) 5464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (CurrentState == HAL_I2C_STATE_BUSY_RX) 5466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Restart */ 5468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_START; 5469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount++; 5471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((hi2c->XferCount > 0U) && (CurrentState == HAL_I2C_STATE_BUSY_TX)) 5473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 5475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 5476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((hi2c->XferCount == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_TX)) 5484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop condition then Call TxCpltCallback() */ 5486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 5487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 5488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ ARM GAS /tmp/ccJhhmLc.s page 278 5490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 5491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 5493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c); 5497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c); 5499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 5504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 5509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle RXNE flag for Master 5514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MasterReceive_RXNE(I2C_HandleTypeDef *hi2c) 5519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t tmp; 5523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp = hi2c->XferCount; 5525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (tmp > 3U) 5526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 5528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 5529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount == (uint16_t)3) 5537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable BUF interrupt, this help to treat correctly the last 4 bytes 5539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** on BTF subroutine */ 5540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable BUF interrupt */ 5541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF); 5542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((hi2c->XferOptions != I2C_FIRST_AND_NEXT_FRAME) && ((tmp == 1U) || (tmp == 0U))) 5545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnSTOPRequestThroughIT(hi2c) == HAL_OK) ARM GAS /tmp/ccJhhmLc.s page 279 5547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 5549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 5552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 5553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 5555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 5556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 5566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 5569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c); 5572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c); 5574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 5580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c); 5583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c); 5585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 5591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 5592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 5594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 5595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; ARM GAS /tmp/ccJhhmLc.s page 280 5604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call user error callback */ 5606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c); 5608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c); 5610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 5616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle BTF flag for Master receiver 5622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_MasterReceive_BTF(I2C_HandleTypeDef *hi2c) 5627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */ 5629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions; 5630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount == 4U) 5632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable BUF interrupt, this help to treat correctly the last 2 bytes 5634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** on BTF subroutine if there is a reception delay between N-1 and N byte */ 5635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF); 5636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 5638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 5639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferCount == 3U) 5647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable BUF interrupt, this help to treat correctly the last 2 bytes 5649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** on BTF subroutine if there is a reception delay between N-1 and N byte */ 5650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF); 5651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_FRAME)) 5653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 5655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 5659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 5660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 281 5661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferCount == 2U) 5668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare next transfer or stop current transfer */ 5670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentXferOptions == I2C_FIRST_FRAME) || (CurrentXferOptions == I2C_LAST_FRAME_NO_STOP)) 5671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 5673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((CurrentXferOptions == I2C_NEXT_FRAME) || (CurrentXferOptions == I2C_FIRST_AND_NEXT_FR 5676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 5678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (CurrentXferOptions != I2C_LAST_FRAME_NO_STOP) 5681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 5683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 5684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 5688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 5691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 5692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 5700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 5701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT and ERR interrupt */ 5709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_ERR); 5710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 5713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 5716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c); ARM GAS /tmp/ccJhhmLc.s page 282 5718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c); 5720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 5726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c); 5728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 5729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c); 5730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 5736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 5737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle SB flag for Master 5748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Master_SB(I2C_HandleTypeDef *hi2c) 5753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 5755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->EventCount == 0U) 5757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 5759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(hi2c->Devaddress); 5760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_READ(hi2c->Devaddress); 5764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT) 5769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave 7 Bits address */ 5771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 5772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(hi2c->Devaddress); 5774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 283 5775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_READ(hi2c->Devaddress); 5778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((hi2c->hdmatx != NULL) && (hi2c->hdmatx->XferCpltCallback != NULL)) 5781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** || ((hi2c->hdmarx != NULL) && (hi2c->hdmarx->XferCpltCallback != NULL))) 5782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 5784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 5785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->EventCount == 0U) 5790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send header of slave address */ 5792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(hi2c->Devaddress); 5793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->EventCount == 1U) 5795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send header of slave address */ 5797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_READ(hi2c->Devaddress); 5798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 5802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle ADD10 flag for Master 5809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Master_ADD10(I2C_HandleTypeDef *hi2c) 5814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 5816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_ADDRESS(hi2c->Devaddress); 5817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((hi2c->hdmatx != NULL) && (hi2c->hdmatx->XferCpltCallback != NULL)) 5819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** || ((hi2c->hdmarx != NULL) && (hi2c->hdmarx->XferCpltCallback != NULL))) 5820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable DMA Request */ 5822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 5823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle ADDR flag for Master 5828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ ARM GAS /tmp/ccJhhmLc.s page 284 5832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Master_ADDR(I2C_HandleTypeDef *hi2c) 5833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */ 5835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode; 5836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions; 5837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t Prev_State = hi2c->PreviousState; 5838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->EventCount == 0U) && (CurrentMode == HAL_I2C_MODE_MEM)) 5842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((hi2c->EventCount == 0U) && (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)) 5847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Restart */ 5852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 5853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount++; 5855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 5859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 5864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 5865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferCount == 1U) 5867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (CurrentXferOptions == I2C_NO_OPTION_FRAME) 5869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 5871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) 5874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 5876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 5887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 5888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 285 5889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Prepare next transfer or stop current transfer */ 5891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if ((CurrentXferOptions != I2C_FIRST_AND_LAST_FRAME) && (CurrentXferOptions != I2C_LAS 5892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** && ((Prev_State != I2C_STATE_MASTER_BUSY_RX) || (CurrentXferOptions == I2C_FIRST_F 5893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_F 5895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 5897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 5902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 5911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 5917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 5918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->XferCount == 2U) 5921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentXferOptions != I2C_NEXT_FRAME) && (CurrentXferOptions != I2C_FIRST_AND_NEXT_FRA 5923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 5925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Pos */ 5928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_POS); 5929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 5933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) && ((CurrentXferOptions == I2C 5937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Last DMA bit */ 5939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST); 5940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else ARM GAS /tmp/ccJhhmLc.s page 286 5946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 5948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 5949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) && ((CurrentXferOptions == I2C 5951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Last DMA bit */ 5953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR2, I2C_CR2_LAST); 5954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Reset Event counter */ 5961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->EventCount = 0U; 5962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 5965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 5967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 5968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 5972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle TXE flag for Slave 5973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 5975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 5976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 5977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_SlaveTransmit_TXE(I2C_HandleTypeDef *hi2c) 5978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */ 5980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State; 5981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 5983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 5985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 5986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 5988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 5989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 5991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_TX_LISTEN)) 5994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Last Byte is received, disable Interrupt */ 5996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF); 5997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set state at HAL_I2C_STATE_LISTEN */ 5999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 6000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 6001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ ARM GAS /tmp/ccJhhmLc.s page 287 6003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c); 6005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c); 6007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle BTF flag for Slave transmitter 6014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 6017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_SlaveTransmit_BTF(I2C_HandleTypeDef *hi2c) 6019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Write data to DR */ 6023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = *hi2c->pBuffPtr; 6024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 6026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 6027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 6029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 6030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle RXNE flag for Slave 6035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 6038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_SlaveReceive_RXNE(I2C_HandleTypeDef *hi2c) 6040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */ 6042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State; 6043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 6047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 6048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 6050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 6051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 6053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 6054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN)) 6056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Last Byte is received, disable Interrupt */ 6058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_BUF); 6059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 288 6060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set state at HAL_I2C_STATE_LISTEN */ 6061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 6062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 6063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); 6067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); 6069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle BTF flag for Slave receiver 6076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 6079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_SlaveReceive_BTF(I2C_HandleTypeDef *hi2c) 6081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 6085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 6086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 6088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 6089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 6091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 6092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle ADD flag for Slave 6097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param IT2Flags Interrupt2 flags to handle. 6100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 6101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Slave_ADDR(I2C_HandleTypeDef *hi2c, uint32_t IT2Flags) 6103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint8_t TransferDirection = I2C_DIRECTION_RECEIVE; 6105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint16_t SlaveAddrCode; 6106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 6108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable BUF interrupt, BUF enabling is manage through slave specific interface */ 6110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, (I2C_IT_BUF)); 6111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Transfer Direction requested by Master */ 6113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_CHECK_FLAG(IT2Flags, I2C_FLAG_TRA) == RESET) 6114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** TransferDirection = I2C_DIRECTION_TRANSMIT; 6116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 289 6117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_CHECK_FLAG(IT2Flags, I2C_FLAG_DUALF) == RESET) 6119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SlaveAddrCode = (uint16_t)hi2c->Init.OwnAddress1; 6121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SlaveAddrCode = (uint16_t)hi2c->Init.OwnAddress2; 6125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 6128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Slave Addr callback */ 6131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, TransferDirection, SlaveAddrCode); 6133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, TransferDirection, SlaveAddrCode); 6135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 6140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 6141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Process Unlocked */ 6143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Handle STOPF flag for Slave 6149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 6152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Slave_STOPF(I2C_HandleTypeDef *hi2c) 6154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */ 6156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State; 6157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 6159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 6160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear STOPF flag */ 6162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_STOPFLAG(hi2c); 6163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 6165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 6166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */ 6168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->Instance->CR2 & I2C_CR2_DMAEN) == I2C_CR2_DMAEN) 6169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentState == HAL_I2C_STATE_BUSY_RX) || (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN)) 6171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)(__HAL_DMA_GET_COUNTER(hi2c->hdmarx)); 6173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 290 6174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 6177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable, stop the current DMA */ 6181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 6182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 6184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY) 6185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 6187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 6188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 6189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA RX */ 6191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 6192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 6194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 6195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)(__HAL_DMA_GET_COUNTER(hi2c->hdmatx)); 6201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 6205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable, stop the current DMA */ 6209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN); 6210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 6212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY) 6213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 6215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 6216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 6217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA TX */ 6219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 6220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 6222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 6223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */ 6229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 291 6231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Store Last receive data if any */ 6232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BTF) == SET) 6233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 6235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 6236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 6238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 6239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 6241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 6242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Store Last receive data if any */ 6245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) 6246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 6248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 6249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 6251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 6252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Update counter */ 6254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 6255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 6260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE) 6265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** I2C_ITError(hi2c); 6268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (CurrentState == HAL_I2C_STATE_BUSY_RX_LISTEN) 6272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set state at HAL_I2C_STATE_LISTEN */ 6274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 6276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); 6280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); 6282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN) 6286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; ARM GAS /tmp/ccJhhmLc.s page 292 6288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ 6293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); 6295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); 6297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_SLAVE_BUSY_RX) || (CurrentState == HAL_I2C_STATE_BUSY_ 6302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); 6309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); 6311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 6321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_Slave_AF(I2C_HandleTypeDef *hi2c) 6323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variables to prevent undefined behavior of volatile usage */ 6325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State; 6326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions; 6327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((CurrentXferOptions == I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_LAST_FRAME)) 6329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** (CurrentState == HAL_I2C_STATE_LISTEN)) 6330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 6334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 6335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear AF flag */ 6337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 6340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 6341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; ARM GAS /tmp/ccJhhmLc.s page 293 6345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ 6347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); 6349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); 6351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (CurrentState == HAL_I2C_STATE_BUSY_TX) 6354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 6357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 6361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 6362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear AF flag */ 6364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Acknowledge */ 6367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 6368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c); 6371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c); 6373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear AF flag only */ 6378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* State Listen, but XferOptions == FIRST or NEXT */ 6379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief I2C interrupts error process 6385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c I2C handle. 6386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval None 6387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c) 6389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */ 6391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_StateTypeDef CurrentState = hi2c->State; 6392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ModeTypeDef CurrentMode = hi2c->Mode; 6393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentError; 6394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((CurrentMode == HAL_I2C_MODE_MASTER) || (CurrentMode == HAL_I2C_MODE_MEM)) && (CurrentState 6396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable Pos bit in I2C CR1 when error occurred in Master/Mem Receive IT Process */ 6398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_POS; 6399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((uint32_t)CurrentState & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) ARM GAS /tmp/ccJhhmLc.s page 294 6402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN */ 6404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 6406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */ 6410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* This change will be do later */ 6411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) != I2C_CR2_DMAEN) && (CurrentState != HAL_I2C 6412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Abort DMA transfer */ 6420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR2, I2C_CR2_DMAEN) == I2C_CR2_DMAEN) 6421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_DMAEN; 6423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->hdmatx->State != HAL_DMA_STATE_READY) 6425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA Abort callback : 6427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 6428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 6429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 6431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */ 6433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 6434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 6438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 6439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Set the DMA Abort callback : 6444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 6445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 6446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 6448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Store Last receive data if any */ 6450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) 6451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 6453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 6454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 6456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 6457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 295 6459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */ 6460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 6461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */ 6465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 6466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_ABORT) 6470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Store Last receive data if any */ 6475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) 6476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 6478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 6479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 6481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 6482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable I2C peripheral to prevent dummy data in buffer */ 6485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 6486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c); 6490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c); 6492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Store Last receive data if any */ 6497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) 6498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Read data from DR */ 6500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->DR; 6501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Increment Buffer pointer */ 6503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->pBuffPtr++; 6504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call user error callback */ 6507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c); 6509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c); 6511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* STOP Flag is not set after a NACK reception, BusError, ArbitrationLost, OverRun */ 6515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CurrentError = hi2c->ErrorCode; ARM GAS /tmp/ccJhhmLc.s page 296 6516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((CurrentError & HAL_I2C_ERROR_BERR) == HAL_I2C_ERROR_BERR) || \ 6518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ((CurrentError & HAL_I2C_ERROR_ARLO) == HAL_I2C_ERROR_ARLO) || \ 6519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ((CurrentError & HAL_I2C_ERROR_AF) == HAL_I2C_ERROR_AF) || \ 6520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ((CurrentError & HAL_I2C_ERROR_OVR) == HAL_I2C_ERROR_OVR)) 6521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Disable EVT, BUF and ERR interrupt */ 6523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_EVT | I2C_IT_BUF | I2C_IT_ERR); 6524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* So may inform upper layer that listen phase is stopped */ 6527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* during NACK error treatment */ 6528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** CurrentState = hi2c->State; 6529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (((hi2c->ErrorCode & HAL_I2C_ERROR_AF) == HAL_I2C_ERROR_AF) && (CurrentState == HAL_I2C_STATE_ 6530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ 6537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); 6539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #else 6540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); 6541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 6549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 6550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 6551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Tickstart Tick start value 6552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 6553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint3 2755 .loc 10 6554 26 view .LVU648 2756 .LBB213: 6555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */ 6557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions; 2757 .loc 10 6557 3 view .LVU649 2758 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6557: uint 2759 .loc 10 6557 12 is_stmt 0 view .LVU650 2760 00be D96A ldr r1, [r3, #44] @ CurrentXferOptions, MEM [(struct I2C_HandleTypeDe 2761 .LVL134: 6558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start condition if first transfer */ 6560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentXferOptions == I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_FIRST_FRAME) | 2762 .loc 10 6560 3 is_stmt 1 view .LVU651 2763 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6560: if ( 2764 .loc 10 6560 6 is_stmt 0 view .LVU652 2765 00c0 0829 cmp r1, #8 @ CurrentXferOptions, 2766 00c2 04D0 beq .L324 @, ARM GAS /tmp/ccJhhmLc.s page 297 2767 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6560: if ( 2768 .loc 10 6560 56 discriminator 1 view .LVU653 2769 00c4 0129 cmp r1, #1 @ CurrentXferOptions, 2770 00c6 02D0 beq .L324 @, 2771 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6560: if ( 2772 .loc 10 6560 99 discriminator 2 view .LVU654 2773 00c8 11F5803F cmn r1, #65536 @ CurrentXferOptions, 2774 00cc 04D1 bne .L292 @, 2775 .L324: 6561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 6563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 6564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) 6566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate ReStart */ 6568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 2776 .loc 10 6568 5 is_stmt 1 view .LVU655 2777 00ce 1368 ldr r3, [r2] @ _84,* _31 2778 00d0 43F48073 orr r3, r3, #256 @ _85, _84, 2779 00d4 1360 str r3, [r2] @ _85,* _31 2780 .LVL135: 2781 .loc 10 6568 5 is_stmt 0 view .LVU656 2782 00d6 02E0 b .L293 @ 2783 .LVL136: 2784 .L292: 6565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2785 .loc 10 6565 8 is_stmt 1 view .LVU657 2786 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6565: else 6565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2787 .loc 10 6565 16 is_stmt 0 view .LVU658 2788 00d8 1B6B ldr r3, [r3, #48] @ _82, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2789 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6565: else 6565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2790 .loc 10 6565 11 view .LVU659 2791 00da 122B cmp r3, #18 @ _82, 2792 00dc F7D0 beq .L324 @, 2793 .LVL137: 2794 .L293: 6569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 6573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2795 .loc 10 6573 3 is_stmt 1 view .LVU660 6574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until SB flag is set */ 6576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK) 2796 .loc 10 6576 3 view .LVU661 2797 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6576: if ( 2798 .loc 10 6576 7 is_stmt 0 view .LVU662 2799 00de 4346 mov r3, r8 @, timeout 2800 00e0 0022 movs r2, #0 @, 2801 00e2 0097 str r7, [sp] @ _77, 2802 00e4 4FF00111 mov r1, #65537 @, 2803 .LVL138: 2804 .loc 10 6576 7 view .LVU663 ARM GAS /tmp/ccJhhmLc.s page 298 2805 00e8 3046 mov r0, r6 @, _9 2806 00ea FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 2807 .LVL139: 2808 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6578: if 6577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR1, I2C_CR1_START) == I2C_CR1_START) 2809 .loc 10 6578 9 view .LVU664 2810 00ee 4FF0A80A mov r10, #168 @ tmp297, 2811 .LVL140: 2812 .loc 10 6578 9 view .LVU665 2813 00f2 0AFB05FA mul r10, r10, r5 @ tmp296, tmp297, bus 2814 00f6 04EB0A03 add r3, r4, r10 @ tmp298, tmp201, tmp296 2815 00fa 54F80A20 ldr r2, [r4, r10] @ pretmp_170, MEM [(struct I2C_HandleTypeDef *)&_i2 2816 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6576: if ( 6576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2817 .loc 10 6576 6 discriminator 1 view .LVU666 2818 00fe 30B1 cbz r0, .L294 @ tmp457, 2819 .loc 10 6578 5 is_stmt 1 view .LVU667 2820 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6578: if 2821 .loc 10 6578 9 is_stmt 0 view .LVU668 2822 0100 1268 ldr r2, [r2] @ _88, pretmp_170->CR1 2823 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6578: if 2824 .loc 10 6578 8 view .LVU669 2825 0102 D205 lsls r2, r2, #23 @, _88, 2826 0104 A2D5 bpl .L295 @, 6579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_WRONG_START; 2827 .loc 10 6580 7 is_stmt 1 view .LVU670 2828 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6580: 2829 .loc 10 6580 23 is_stmt 0 view .LVU671 2830 0106 4FF40072 mov r2, #512 @ tmp305, 2831 010a 1A64 str r2, [r3, #64] @ tmp305, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 2832 .LVL141: 2833 .loc 10 6580 23 view .LVU672 2834 .LBE213: 2835 .LBE212: 2836 .LBE225: 2837 .LBE234: 2838 010c 9EE7 b .L295 @ 2839 .LVL142: 2840 .L294: 2841 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:574: if (HAL_I2C_Mas 574:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 2842 .loc 3 574 30 view .LVU673 2843 010e 0299 ldr r1, [sp, #8] @ addr, %sfp 2844 .LBB235: 2845 .LBB226: 2846 .LBB218: 2847 .LBB214: 2848 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6585: if ( 6581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_TIMEOUT; 6583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT) 2849 .loc 10 6585 6 view .LVU674 2850 0110 1B69 ldr r3, [r3, #16] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] ARM GAS /tmp/ccJhhmLc.s page 299 2851 .LBE214: 2852 .LBE218: 2853 .LBE226: 2854 .LBE235: 2855 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:574: if (HAL_I2C_Mas 574:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 2856 .loc 3 574 30 view .LVU675 2857 0112 4FEA4109 lsl r9, r1, #1 @ tmp306, addr, 2858 .LBB236: 2859 .LBB227: 2860 .LBB219: 2861 .LBB215: 2862 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6585: if ( 2863 .loc 10 6585 6 view .LVU676 2864 0116 B3F5804F cmp r3, #16384 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].ha 2865 .LBE215: 2866 .LBE219: 2867 .LBE227: 2868 .LBE236: 2869 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:574: if (HAL_I2C_Mas 574:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 2870 .loc 3 574 30 view .LVU677 2871 011a 1FFA89F9 uxth r9, r9 @ _2, tmp306 2872 .LBB237: 2873 .LBB228: 2874 .LBB220: 2875 .LBB216: 2876 .loc 10 6585 3 is_stmt 1 view .LVU678 2877 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6585: if ( 2878 .loc 10 6585 6 is_stmt 0 view .LVU679 2879 011e 2AD1 bne .L296 @, 2880 .L325: 2881 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6602: hi 6586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 6588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress); 6589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send header of slave address */ 6593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(DevAddress); 6594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADD10 flag is set */ 6596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADD10, Timeout, Tickstart) != HAL_OK 6597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 6602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_ADDRESS(DevAddress); 2882 .loc 10 6602 26 view .LVU680 2883 0120 5FFA89F3 uxtb r3, r9 @ _105, _2 2884 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6602: hi 2885 .loc 10 6602 24 view .LVU681 2886 0124 1361 str r3, [r2, #16] @ _105, 6603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 300 6605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 6606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK) 2887 .loc 10 6606 3 is_stmt 1 view .LVU682 2888 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6606: if ( 2889 .loc 10 6606 7 is_stmt 0 view .LVU683 2890 0126 4949 ldr r1, .L326+16 @, 2891 0128 3B46 mov r3, r7 @, _77 2892 012a 4246 mov r2, r8 @, timeout 2893 012c 3046 mov r0, r6 @, _9 2894 012e FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 2895 .LVL143: 2896 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6606: if ( 2897 .loc 10 6606 6 discriminator 1 view .LVU684 2898 0132 0028 cmp r0, #0 @ tmp325 2899 0134 8AD1 bne .L295 @ 2900 .LVL144: 2901 .loc 10 6606 6 discriminator 1 view .LVU685 2902 .LBE216: 2903 .LBE220: 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2904 .loc 10 1075 5 is_stmt 1 view .LVU686 2905 .LBB221: 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2906 .loc 10 1075 5 view .LVU687 2907 0136 4FF0A80A mov r10, #168 @ tmp329, 2908 013a 0AFB05FA mul r10, r10, r5 @ tmp328, tmp329, bus 2909 013e 0590 str r0, [sp, #20] @ tmp325, tmpreg 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2910 .loc 10 1075 5 view .LVU688 2911 0140 54F80A30 ldr r3, [r4, r10] @ _40, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2912 0144 5A69 ldr r2, [r3, #20] @ _41, _40->SR1 2913 0146 0592 str r2, [sp, #20] @ _41, tmpreg 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2914 .loc 10 1075 5 view .LVU689 2915 0148 9B69 ldr r3, [r3, #24] @ _42, _40->SR2 2916 014a 0593 str r3, [sp, #20] @ _42, tmpreg 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2917 .loc 10 1075 5 view .LVU690 2918 014c 059B ldr r3, [sp, #20] @ _43, tmpreg 2919 .LBE221: 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2920 .loc 10 1075 5 view .LVU691 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2921 .loc 10 1077 5 view .LVU692 2922 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1077: wh 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2923 .loc 10 1077 16 is_stmt 0 view .LVU693 2924 014e 04EB0A09 add r9, r4, r10 @ tmp421, tmp201, tmp328 2925 .L298: 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2926 .loc 10 1077 27 is_stmt 1 view .LVU694 2927 0152 B9F82800 ldrh r0, [r9, #40] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 2928 0156 08BB cbnz r0, .L301 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].ha 1126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2929 .loc 10 1126 5 view .LVU695 2930 0158 54F80A20 ldr r2, [r4, r10] @ _72, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2931 015c 1368 ldr r3, [r2] @ _73, _72->CR1 ARM GAS /tmp/ccJhhmLc.s page 301 2932 015e 43F40073 orr r3, r3, #512 @ _74, _73, 2933 0162 1360 str r3, [r2] @ _74, _72->CR1 1128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2934 .loc 10 1128 5 view .LVU696 2935 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1128: hi 1128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2936 .loc 10 1128 17 is_stmt 0 view .LVU697 2937 0164 2023 movs r3, #32 @ tmp433, 2938 0166 89F83D30 strb r3, [r9, #61] @ tmp433, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2939 .loc 10 1129 5 is_stmt 1 view .LVU698 2940 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1132: __ 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2941 .loc 10 1132 5 is_stmt 0 view .LVU699 2942 016a 89F83C00 strb r0, [r9, #60] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 2943 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1129: hi 1129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2944 .loc 10 1129 16 view .LVU700 2945 016e 89F83E00 strb r0, [r9, #62] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2946 .loc 10 1132 5 is_stmt 1 view .LVU701 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2947 .loc 10 1132 5 view .LVU702 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2948 .loc 10 1132 5 view .LVU703 1134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2949 .loc 10 1134 5 view .LVU704 2950 .LVL145: 1134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2951 .loc 10 1134 5 is_stmt 0 view .LVU705 2952 .LBE228: 2953 .LBE237: 2954 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:578: return 0; 578:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 2955 .loc 3 578 10 view .LVU706 2956 0172 0446 mov r4, r0 @ , MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_ 2957 0174 6CE7 b .L288 @ 2958 .LVL146: 2959 .L296: 2960 .LBB238: 2961 .LBB229: 2962 .LBB222: 2963 .LBB217: 6593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2964 .loc 10 6593 5 is_stmt 1 view .LVU707 2965 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6593: hi 6593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2966 .loc 10 6593 26 is_stmt 0 view .LVU708 2967 0176 4FEAE913 asr r3, r9, #7 @ _96, _2, 2968 017a 03F00603 and r3, r3, #6 @ tmp315, _96, 2969 017e 43F0F003 orr r3, r3, #240 @ _101, tmp315, 2970 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6593: hi 6593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 2971 .loc 10 6593 24 view .LVU709 2972 0182 1361 str r3, [r2, #16] @ _101, pretmp_170->DR 6596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2973 .loc 10 6596 5 is_stmt 1 view .LVU710 ARM GAS /tmp/ccJhhmLc.s page 302 2974 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6596: if 6596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2975 .loc 10 6596 9 is_stmt 0 view .LVU711 2976 0184 3249 ldr r1, .L326+20 @, 2977 0186 3B46 mov r3, r7 @, _77 2978 0188 4246 mov r2, r8 @, timeout 2979 018a 3046 mov r0, r6 @, _9 2980 018c FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 2981 .LVL147: 2982 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6596: if 6596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2983 .loc 10 6596 8 discriminator 1 view .LVU712 2984 0190 0028 cmp r0, #0 @ tmp458 2985 0192 7FF45BAF bne .L295 @ 6602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2986 .loc 10 6602 5 is_stmt 1 view .LVU713 2987 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6602: hi 6602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2988 .loc 10 6602 9 is_stmt 0 view .LVU714 2989 0196 54F80A20 ldr r2, [r4, r10] @ _104, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2990 019a C1E7 b .L325 @ 2991 .LVL148: 2992 .L301: 6602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 2993 .loc 10 6602 9 view .LVU715 2994 .LBE217: 2995 .LBE222: 1080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2996 .loc 10 1080 7 is_stmt 1 view .LVU716 2997 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1080: 1080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 2998 .loc 10 1080 11 is_stmt 0 view .LVU717 2999 019c 3A46 mov r2, r7 @, _77 3000 019e 4146 mov r1, r8 @, timeout 3001 01a0 3046 mov r0, r6 @, _9 3002 01a2 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 3003 .LVL149: 3004 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1080: 1080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3005 .loc 10 1080 10 discriminator 1 view .LVU718 3006 01a6 58B1 cbz r0, .L299 @ tmp460, 1082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3007 .loc 10 1082 9 is_stmt 1 view .LVU719 3008 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1082: 1082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3009 .loc 10 1082 17 is_stmt 0 view .LVU720 3010 01a8 D9F84030 ldr r3, [r9, #64] @ _45, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 3011 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1082: 1082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3012 .loc 10 1082 12 view .LVU721 3013 01ac 042B cmp r3, #4 @ _45, 3014 01ae 7FF44DAF bne .L295 @, 1085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3015 .loc 10 1085 11 is_stmt 1 view .LVU722 3016 01b2 54F80A20 ldr r2, [r4, r10] @ _46, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 3017 .L323: 3018 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1119: ARM GAS /tmp/ccJhhmLc.s page 303 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3019 .loc 10 1119 11 is_stmt 0 view .LVU723 3020 01b6 1368 ldr r3, [r2] @ _69,* _68 3021 01b8 43F40073 orr r3, r3, #512 @ _70, _69, 3022 01bc 1360 str r3, [r2] @ _70,* _68 3023 .LVL150: 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3024 .loc 10 1119 11 view .LVU724 3025 01be 45E7 b .L295 @ 3026 .LVL151: 3027 .L299: 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3028 .loc 10 1091 7 is_stmt 1 view .LVU725 3029 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1091: 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3030 .loc 10 1091 33 is_stmt 0 view .LVU726 3031 01c0 D9F82430 ldr r3, [r9, #36] @ _49, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 3032 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1091: 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3033 .loc 10 1091 11 view .LVU727 3034 01c4 D9F80000 ldr r0, [r9] @ _51, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 3035 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1091: 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3036 .loc 10 1091 28 view .LVU728 3037 01c8 1A46 mov r2, r3 @ _53, _49 3038 01ca 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2 @ _52, *_49 3039 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1091: 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3040 .loc 10 1091 26 view .LVU729 3041 01ce 0161 str r1, [r0, #16] @ _52, _51->DR 1094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3042 .loc 10 1094 7 is_stmt 1 view .LVU730 3043 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1094: 1094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3044 .loc 10 1094 21 is_stmt 0 view .LVU731 3045 01d0 C9F82420 str r2, [r9, #36] @ _53, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 3046 .loc 10 1097 7 is_stmt 1 view .LVU732 3047 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1097: 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 3048 .loc 10 1097 11 is_stmt 0 view .LVU733 3049 01d4 B9F82A20 ldrh r2, [r9, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3050 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1097: 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 3051 .loc 10 1097 22 view .LVU734 3052 01d8 013A subs r2, r2, #1 @ tmp362, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3053 01da 92B2 uxth r2, r2 @ _55, tmp362 3054 01dc A9F82A20 strh r2, [r9, #42] @ movhi @ _55, MEM [(struct I2C_HandleTypeDef *)&_ 1098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3055 .loc 10 1098 7 is_stmt 1 view .LVU735 3056 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1098: 1098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3057 .loc 10 1098 11 is_stmt 0 view .LVU736 3058 01e0 B9F82820 ldrh r2, [r9, #40] @ _56, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3059 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1100: 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3060 .loc 10 1100 12 view .LVU737 ARM GAS /tmp/ccJhhmLc.s page 304 3061 01e4 D0F814C0 ldr ip, [r0, #20] @ _58, _51->SR1 3062 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1098: 1098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3063 .loc 10 1098 21 view .LVU738 3064 01e8 511E subs r1, r2, #1 @ tmp374, _56, 3065 01ea 89B2 uxth r1, r1 @ _57, tmp374 3066 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1100: 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3067 .loc 10 1100 10 view .LVU739 3068 01ec 1CF0040F tst ip, #4 @ _58, 3069 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1098: 1098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3070 .loc 10 1098 21 view .LVU740 3071 01f0 A9F82810 strh r1, [r9, #40] @ movhi @ _57, MEM [(struct I2C_HandleTypeDef *)&_ 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3072 .loc 10 1100 7 is_stmt 1 view .LVU741 3073 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1100: 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3074 .loc 10 1100 10 is_stmt 0 view .LVU742 3075 01f4 0ED0 beq .L300 @, 3076 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1100: 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3077 .loc 10 1100 59 discriminator 1 view .LVU743 3078 01f6 69B1 cbz r1, .L300 @ _57, 1103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3079 .loc 10 1103 9 is_stmt 1 view .LVU744 3080 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1103: 1103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3081 .loc 10 1103 30 is_stmt 0 view .LVU745 3082 01f8 5978 ldrb r1, [r3, #1] @ zero_extendqisi2 @ _61, MEM[(uint8_t *)_49 + 1B] 3083 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1103: 1103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3084 .loc 10 1103 28 view .LVU746 3085 01fa 0161 str r1, [r0, #16] @ _61, _51->DR 1106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3086 .loc 10 1106 9 is_stmt 1 view .LVU747 3087 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1106: 1106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3088 .loc 10 1106 23 is_stmt 0 view .LVU748 3089 01fc 0233 adds r3, r3, #2 @ _62, _49, 3090 01fe C9F82430 str r3, [r9, #36] @ _62, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 1109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 3091 .loc 10 1109 9 is_stmt 1 view .LVU749 3092 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1109: 1109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 3093 .loc 10 1109 13 is_stmt 0 view .LVU750 3094 0202 B9F82A30 ldrh r3, [r9, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3095 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1109: 1109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 3096 .loc 10 1109 24 view .LVU751 3097 0206 013B subs r3, r3, #1 @ tmp394, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3098 0208 9BB2 uxth r3, r3 @ _64, tmp394 3099 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1110: 1110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3100 .loc 10 1110 23 view .LVU752 3101 020a 023A subs r2, r2, #2 @ tmp406, _56, 3102 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1109: ARM GAS /tmp/ccJhhmLc.s page 305 1109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize--; 3103 .loc 10 1109 24 view .LVU753 3104 020c A9F82A30 strh r3, [r9, #42] @ movhi @ _64, MEM [(struct I2C_HandleTypeDef *)&_ 1110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3105 .loc 10 1110 9 is_stmt 1 view .LVU754 3106 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1110: 1110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3107 .loc 10 1110 23 is_stmt 0 view .LVU755 3108 0210 A9F82820 strh r2, [r9, #40] @ movhi @ tmp406, MEM [(struct I2C_HandleTypeDef * 3109 .L300: 1114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3110 .loc 10 1114 7 is_stmt 1 view .LVU756 3111 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1114: 1114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3112 .loc 10 1114 11 is_stmt 0 view .LVU757 3113 0214 3A46 mov r2, r7 @, _77 3114 0216 4146 mov r1, r8 @, timeout 3115 0218 3046 mov r0, r6 @, _9 3116 021a FFF7FEFF bl I2C_WaitOnBTFFlagUntilTimeout.lto_priv.0 @ 3117 .LVL152: 3118 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1114: 1114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3119 .loc 10 1114 10 discriminator 1 view .LVU758 3120 021e 0028 cmp r0, #0 @ tmp461 3121 0220 97D0 beq .L298 @ 1116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3122 .loc 10 1116 9 is_stmt 1 view .LVU759 3123 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1116: 1116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3124 .loc 10 1116 17 is_stmt 0 view .LVU760 3125 0222 A823 movs r3, #168 @ tmp411, 3126 0224 6B43 muls r3, r5, r3 @ tmp410, bus 3127 0226 E218 adds r2, r4, r3 @ tmp412, tmp201, tmp410 3128 0228 126C ldr r2, [r2, #64] @ _67, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 3129 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1116: 1116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3130 .loc 10 1116 12 view .LVU761 3131 022a 042A cmp r2, #4 @ _67, 3132 022c 7FF40EAF bne .L295 @, 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3133 .loc 10 1119 11 is_stmt 1 view .LVU762 3134 0230 E258 ldr r2, [r4, r3] @ _68, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 3135 0232 C0E7 b .L323 @ 3136 .LVL153: 3137 .L302: 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3138 .loc 10 1119 11 is_stmt 0 view .LVU763 3139 .LBE229: 3140 .LBE238: 3141 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:571: if (!h) return 571:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 3142 .loc 3 571 19 discriminator 1 view .LVU764 3143 0234 4FF0FF34 mov r4, #-1 @ , 3144 .LVL154: 571:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 3145 .loc 3 571 19 discriminator 1 view .LVU765 3146 0238 0DE7 b .L285 @ ARM GAS /tmp/ccJhhmLc.s page 306 3147 .L327: 3148 023a 00BF .align 2 3149 .L326: 3150 023c 00000000 .word _ZL9_i2c_devs 3151 0240 00000000 .word _ZL9_ms_ticks.lto_priv.0 3152 0244 02001000 .word 1048578 3153 0248 0000FFFF .word -65536 3154 024c 02000100 .word 65538 3155 0250 08000100 .word 65544 3156 .cfi_endproc 3157 .LFE57: 3158 .size _Z19stm32_i2c_master_txhtPhtm, .-_Z19stm32_i2c_master_txhtPhtm 3159 .section .text._Z19stm32_i2c_master_rxhtPhtm,"ax",%progbits 3160 .align 1 3161 .global _Z19stm32_i2c_master_rxhtPhtm 3162 .syntax unified 3163 .thumb 3164 .thumb_func 3165 .type _Z19stm32_i2c_master_rxhtPhtm, %function 3166 _Z19stm32_i2c_master_rxhtPhtm: 3167 .LVL155: 3168 .LFB60: 580:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 581:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int stm32_i2c_master_rx(uint8_t bus, uint16_t addr, uint8_t *data, uint16_t len, 582:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint32_t timeout) 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 3169 .loc 3 583 1 is_stmt 1 view -0 3170 .cfi_startproc 3171 @ args = 4, pretend = 0, frame = 40 3172 @ frame_needed = 0, uses_anonymous_args = 0 584:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 3173 .loc 3 584 3 view .LVU767 3174 .LBB258: 3175 .LBI258: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 3176 .loc 3 54 27 view .LVU768 3177 .LBB259: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 3178 .loc 3 56 3 view .LVU769 3179 .LBE259: 3180 .LBE258: 3181 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:583: { 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 3182 .loc 3 583 1 is_stmt 0 view .LVU770 3183 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 3184 .LCFI21: 3185 .cfi_def_cfa_offset 36 3186 .cfi_offset 4, -36 3187 .cfi_offset 5, -32 3188 .cfi_offset 6, -28 3189 .cfi_offset 7, -24 3190 .cfi_offset 8, -20 3191 .cfi_offset 9, -16 3192 .cfi_offset 10, -12 3193 .cfi_offset 11, -8 3194 .cfi_offset 14, -4 3195 0004 8DB0 sub sp, sp, #52 @,, ARM GAS /tmp/ccJhhmLc.s page 307 3196 .LCFI22: 3197 .cfi_def_cfa_offset 88 3198 .LBB262: 3199 .LBB260: 3200 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 3201 .loc 3 56 3 view .LVU771 3202 0006 0128 cmp r0, #1 @ bus, 3203 .LBE260: 3204 .LBE262: 3205 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:583: { 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 3206 .loc 3 583 1 view .LVU772 3207 0008 CDE90212 strd r1, r2, [sp, #8] @ tmp866, tmp867,, 3208 000c DDF85880 ldr r8, [sp, #88] @ timeout, timeout 3209 0010 8146 mov r9, r0 @ bus, tmp865 3210 0012 9A46 mov r10, r3 @ len, tmp868 3211 .LBB263: 3212 .LBB261: 3213 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 3214 .loc 3 56 3 view .LVU773 3215 0014 00F29681 bhi .L352 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 3216 .loc 3 57 3 is_stmt 1 view .LVU774 3217 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:57: return &_i2c_dev 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 3218 .loc 3 57 26 is_stmt 0 view .LVU775 3219 0018 964C ldr r4, .L380 @ tmp299, 3220 001a 4542 rsbs r5, r0, #0 @ tmp298, bus 3221 001c 05F0A805 and r5, r5, #168 @ _214, tmp298, 3222 0020 2E19 adds r6, r5, r4 @ _9, _214, tmp299 3223 .LVL156: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 3224 .loc 3 57 26 view .LVU776 3225 .LBE261: 3226 .LBE263: 585:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 3227 .loc 3 585 3 is_stmt 1 view .LVU777 586:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 587:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2CMutex(bus); 3228 .loc 3 587 3 view .LVU778 3229 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:587: I2CMutex(bus); 3230 .loc 3 587 3 is_stmt 0 discriminator 1 view .LVU779 3231 0022 3046 mov r0, r6 @, _9 3232 .LVL157: 3233 .loc 3 587 3 discriminator 1 view .LVU780 3234 0024 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 3235 .LVL158: 3236 .loc 3 587 3 is_stmt 1 discriminator 2 view .LVU781 3237 .LBB264: 3238 .LBI264: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3239 .loc 7 102 20 view .LVU782 3240 .LBB265: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3241 .loc 7 102 55 view .LVU783 ARM GAS /tmp/ccJhhmLc.s page 308 3242 .LBE265: 3243 .LBE264: 3244 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:587: I2CMutex(bus); 3245 .loc 3 587 3 is_stmt 0 discriminator 3 view .LVU784 3246 0028 05F15801 add r1, r5, #88 @ _3, _214, 3247 .LBB268: 3248 .LBB269: 3249 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1158: if ( 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3250 .loc 10 1158 11 view .LVU785 3251 002c A825 movs r5, #168 @ tmp307, 3252 .LVL159: 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3253 .loc 10 1158 11 view .LVU786 3254 .LBE269: 3255 .LBE268: 3256 .LBB295: 3257 .LBB266: 3258 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3259 .loc 7 102 75 view .LVU787 3260 002e 2144 add r1, r1, r4 @, tmp299 3261 .LVL160: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3262 .loc 7 102 75 view .LVU788 3263 0030 0AA8 add r0, sp, #40 @,, 3264 .LBE266: 3265 .LBE295: 3266 .LBB296: 3267 .LBB290: 3268 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1158: if ( 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3269 .loc 10 1158 11 view .LVU789 3270 0032 05FB09F5 mul r5, r5, r9 @ tmp306, tmp307, bus 3271 .LBE290: 3272 .LBE296: 3273 .LBB297: 3274 .LBB267: 3275 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3276 .loc 7 102 75 view .LVU790 3277 0036 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 3278 .LVL161: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 3279 .loc 7 102 75 view .LVU791 3280 .LBE267: 3281 .LBE297: 588:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (HAL_I2C_Master_Receive(h, addr << 1, data, len, timeout) != HAL_OK) { 3282 .loc 3 588 3 is_stmt 1 view .LVU792 3283 .LBB298: 3284 .LBI268: 1153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3285 .loc 10 1153 19 view .LVU793 3286 .LBB291: 1156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3287 .loc 10 1156 3 view .LVU794 3288 .LBB270: ARM GAS /tmp/ccJhhmLc.s page 309 3289 .LBI270: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 3290 .loc 11 25 21 view .LVU795 3291 .loc 11 27 5 view .LVU796 3292 .LBB271: 3293 .LBI271: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 3294 .loc 5 54 10 view .LVU797 3295 .LBB272: 3296 .loc 5 56 3 view .LVU798 3297 .LBE272: 3298 .LBE271: 3299 .LBE270: 3300 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1158: if ( 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3301 .loc 10 1158 11 is_stmt 0 view .LVU799 3302 003a 04EB050B add fp, r4, r5 @ tmp308, tmp299, tmp306 3303 .LBB275: 3304 .LBB274: 3305 .LBB273: 3306 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 3307 .loc 5 56 10 view .LVU800 3308 003e 8E4B ldr r3, .L380+4 @ tmp304, 3309 0040 1F68 ldr r7, [r3] @ _162, _ms_ticks 3310 .LVL162: 3311 .loc 5 56 10 view .LVU801 3312 .LBE273: 3313 .LBE274: 3314 .LBE275: 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3315 .loc 10 1158 3 is_stmt 1 view .LVU802 3316 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1158: if ( 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3317 .loc 10 1158 11 is_stmt 0 view .LVU803 3318 0042 9BF83D30 ldrb r3, [fp, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 3319 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1158: if ( 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3320 .loc 10 1158 6 view .LVU804 3321 0046 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handl 3322 0048 5AD1 bne .L331 @, 1161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3323 .loc 10 1161 5 is_stmt 1 view .LVU805 3324 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1161: if 1161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3325 .loc 10 1161 9 is_stmt 0 view .LVU806 3326 004a 8C49 ldr r1, .L380+8 @, 3327 004c 0097 str r7, [sp] @ _162, 3328 004e 1923 movs r3, #25 @, 3329 0050 0122 movs r2, #1 @, 3330 0052 3046 mov r0, r6 @, _9 3331 0054 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3332 .LVL163: 3333 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1161: if 1161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3334 .loc 10 1161 8 discriminator 1 view .LVU807 3335 0058 0028 cmp r0, #0 @ tmp869 3336 005a 51D1 bne .L331 @ ARM GAS /tmp/ccJhhmLc.s page 310 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3337 .loc 10 1167 5 is_stmt 1 view .LVU808 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3338 .loc 10 1167 5 view .LVU809 3339 005c 9BF83C30 ldrb r3, [fp, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 3340 0060 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handle 3341 0062 4DD0 beq .L331 @, 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3342 .loc 10 1167 5 discriminator 2 view .LVU810 3343 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1170: if 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3344 .loc 10 1170 14 is_stmt 0 view .LVU811 3345 0064 6259 ldr r2, [r4, r5] @ _31, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 3346 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1167: __ 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3347 .loc 10 1167 5 discriminator 2 view .LVU812 3348 0066 0123 movs r3, #1 @ tmp325, 3349 0068 8BF83C30 strb r3, [fp, #60] @ tmp325, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3350 .loc 10 1167 5 is_stmt 1 view .LVU813 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3351 .loc 10 1170 5 view .LVU814 3352 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1170: if 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3353 .loc 10 1170 24 is_stmt 0 view .LVU815 3354 006c 1368 ldr r3, [r2] @ _32, _31->CR1 3355 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1170: if 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3356 .loc 10 1170 8 view .LVU816 3357 006e DD07 lsls r5, r3, #31 @, _32, 1173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3358 .loc 10 1173 7 is_stmt 1 view .LVU817 3359 0070 5EBF ittt pl 3360 0072 1368 ldrpl r3, [r2] @ _34, _31->CR1 3361 0074 43F00103 orrpl r3, r3, #1 @ _35, _34, 3362 0078 1360 strpl r3, [r2] @ _35, _31->CR1 1177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3363 .loc 10 1177 5 view .LVU818 3364 007a 1368 ldr r3, [r2] @ _36, _31->CR1 3365 007c 23F40063 bic r3, r3, #2048 @ _37, _36, 3366 0080 1360 str r3, [r2] @ _37, _31->CR1 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3367 .loc 10 1179 5 view .LVU819 3368 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1179: hi 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3369 .loc 10 1179 23 is_stmt 0 view .LVU820 3370 0082 A823 movs r3, #168 @ tmp334, 3371 0084 03FB0943 mla r3, r3, r9, r4 @ tmp335, tmp334, bus, tmp299 3372 0088 2221 movs r1, #34 @ tmp337, 3373 008a 83F83D10 strb r1, [r3, #61] @ tmp337, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3374 .loc 10 1180 5 is_stmt 1 view .LVU821 3375 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1180: hi 1180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3376 .loc 10 1180 23 is_stmt 0 view .LVU822 3377 008e 1021 movs r1, #16 @ tmp344, 3378 0090 83F83E10 strb r1, [r3, #62] @ tmp344, MEM [(struct I2C_HandleTypeDef *)&_i2c_d ARM GAS /tmp/ccJhhmLc.s page 311 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3379 .loc 10 1181 5 is_stmt 1 view .LVU823 3380 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1181: hi 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3381 .loc 10 1181 23 is_stmt 0 view .LVU824 3382 0094 0021 movs r1, #0 @ tmp351, 3383 0096 1964 str r1, [r3, #64] @ tmp351, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 1184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 3384 .loc 10 1184 5 is_stmt 1 view .LVU825 3385 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1185: hi 1185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3386 .loc 10 1185 23 is_stmt 0 view .LVU826 3387 0098 A3F82AA0 strh r10, [r3, #42] @ movhi @ len, MEM [(struct I2C_HandleTypeDef *)& 3388 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1184: hi 1184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 3389 .loc 10 1184 23 view .LVU827 3390 009c 0399 ldr r1, [sp, #12] @ data, %sfp 3391 009e 5962 str r1, [r3, #36] @ data, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 1185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3392 .loc 10 1185 5 is_stmt 1 view .LVU828 1186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3393 .loc 10 1186 5 view .LVU829 3394 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1186: hi 1186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3395 .loc 10 1186 29 is_stmt 0 view .LVU830 3396 00a0 598D ldrh r1, [r3, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3397 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1186: hi 1186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3398 .loc 10 1186 23 view .LVU831 3399 00a2 1985 strh r1, [r3, #40] @ movhi @ MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3400 .loc 10 1187 5 is_stmt 1 view .LVU832 3401 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1187: hi 1187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3402 .loc 10 1187 23 is_stmt 0 view .LVU833 3403 00a4 7649 ldr r1, .L380+12 @ tmp380, 3404 00a6 D962 str r1, [r3, #44] @ tmp380, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 1190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3405 .loc 10 1190 5 is_stmt 1 view .LVU834 3406 .LVL164: 3407 .LBB276: 3408 .LBI276: 6607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 6612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Master sends target device address for read request. 6616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 6619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 6620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 6621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Tickstart Tick start value ARM GAS /tmp/ccJhhmLc.s page 312 6622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 6623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_MasterRequestRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32 3409 .loc 10 6624 26 view .LVU835 3410 .LBB277: 6625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Declaration of temporary variable to prevent undefined behavior of volatile usage */ 6627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t CurrentXferOptions = hi2c->XferOptions; 3411 .loc 10 6627 3 view .LVU836 3412 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6627: uint 3413 .loc 10 6627 12 is_stmt 0 view .LVU837 3414 00a8 D96A ldr r1, [r3, #44] @ CurrentXferOptions, MEM [(struct I2C_HandleTypeDe 3415 .LVL165: 6628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 6630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 3416 .loc 10 6630 3 is_stmt 1 view .LVU838 3417 00aa 1068 ldr r0, [r2] @ _165, _31->CR1 3418 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6633: if ( 6631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start condition if first transfer */ 6633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if ((CurrentXferOptions == I2C_FIRST_AND_LAST_FRAME) || (CurrentXferOptions == I2C_FIRST_FRAME) 3419 .loc 10 6633 6 is_stmt 0 view .LVU839 3420 00ac 0829 cmp r1, #8 @ CurrentXferOptions, 3421 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6630: SET_ 6630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3422 .loc 10 6630 3 view .LVU840 3423 00ae 40F48060 orr r0, r0, #1024 @ _166, _165, 3424 00b2 1060 str r0, [r2] @ _166, _31->CR1 3425 .loc 10 6633 3 is_stmt 1 view .LVU841 3426 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6633: if ( 3427 .loc 10 6633 6 is_stmt 0 view .LVU842 3428 00b4 04D0 beq .L371 @, 3429 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6633: if ( 3430 .loc 10 6633 56 discriminator 1 view .LVU843 3431 00b6 0129 cmp r1, #1 @ CurrentXferOptions, 3432 00b8 02D0 beq .L371 @, 3433 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6633: if ( 3434 .loc 10 6633 100 discriminator 2 view .LVU844 3435 00ba 11F5803F cmn r1, #65536 @ CurrentXferOptions, 3436 00be 04D1 bne .L335 @, 3437 .L371: 6634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 6636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 6637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else if (hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) 6639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate ReStart */ 6641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 3438 .loc 10 6641 5 is_stmt 1 view .LVU845 3439 00c0 1368 ldr r3, [r2] @ _170,* _31 3440 00c2 43F48073 orr r3, r3, #256 @ _171, _170, 3441 00c6 1360 str r3, [r2] @ _171,* _31 3442 .LVL166: 3443 .loc 10 6641 5 is_stmt 0 view .LVU846 3444 00c8 02E0 b .L336 @ ARM GAS /tmp/ccJhhmLc.s page 313 3445 .LVL167: 3446 .L335: 6638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3447 .loc 10 6638 8 is_stmt 1 view .LVU847 3448 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6638: else 6638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3449 .loc 10 6638 16 is_stmt 0 view .LVU848 3450 00ca 1B6B ldr r3, [r3, #48] @ _169, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3451 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6638: else 6638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3452 .loc 10 6638 11 view .LVU849 3453 00cc 112B cmp r3, #17 @ _169, 3454 00ce F7D0 beq .L371 @, 3455 .LVL168: 3456 .L336: 6642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Do nothing */ 6646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3457 .loc 10 6646 3 is_stmt 1 view .LVU850 6647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until SB flag is set */ 6649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK) 3458 .loc 10 6649 3 view .LVU851 3459 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6649: if ( 3460 .loc 10 6649 7 is_stmt 0 view .LVU852 3461 00d0 4346 mov r3, r8 @, timeout 3462 00d2 0097 str r7, [sp] @ _162, 3463 00d4 0022 movs r2, #0 @, 3464 00d6 4FF00111 mov r1, #65537 @, 3465 .LVL169: 3466 .loc 10 6649 7 view .LVU853 3467 00da 3046 mov r0, r6 @, _9 3468 00dc FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3469 .LVL170: 3470 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6651: if 6650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR1, I2C_CR1_START) == I2C_CR1_START) 3471 .loc 10 6651 9 view .LVU854 3472 00e0 4FF0A80A mov r10, #168 @ tmp395, 3473 .LVL171: 3474 .loc 10 6651 9 view .LVU855 3475 00e4 0AFB09FA mul r10, r10, r9 @ tmp394, tmp395, bus 3476 00e8 04EB0A0B add fp, r4, r10 @ tmp396, tmp299, tmp394 3477 00ec 54F80A30 ldr r3, [r4, r10] @ pretmp_253, MEM [(struct I2C_HandleTypeDef *)&_i2 3478 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6649: if ( 6649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3479 .loc 10 6649 6 discriminator 1 view .LVU856 3480 00f0 78B1 cbz r0, .L337 @ tmp870, 3481 .loc 10 6651 5 is_stmt 1 view .LVU857 3482 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6651: if 3483 .loc 10 6651 9 is_stmt 0 view .LVU858 3484 00f2 1B68 ldr r3, [r3] @ _174, pretmp_253->CR1 3485 .LVL172: 3486 .L377: 3487 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6651: if ARM GAS /tmp/ccJhhmLc.s page 314 3488 .loc 10 6651 8 view .LVU859 3489 00f4 D805 lsls r0, r3, #23 @, _174, 6652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_WRONG_START; 3490 .loc 10 6653 7 is_stmt 1 view .LVU860 3491 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6653: 3492 .loc 10 6653 23 is_stmt 0 view .LVU861 3493 00f6 44BF itt mi 3494 00f8 4FF40073 movmi r3, #512 @ tmp403, 3495 00fc CBF84030 strmi r3, [fp, #64] @ tmp403, 3496 .LVL173: 3497 .L331: 3498 .loc 10 6653 23 view .LVU862 3499 .LBE277: 3500 .LBE276: 3501 .LBE291: 3502 .LBE298: 3503 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:589: return -1; 589:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 3504 .loc 3 589 13 view .LVU863 3505 0100 4FF0FF34 mov r4, #-1 @ , 3506 .LVL174: 3507 .L338: 3508 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:593: } 590:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 591:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 592:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 593:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 3509 .loc 3 593 1 view .LVU864 3510 0104 0AA8 add r0, sp, #40 @,, 3511 0106 FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 3512 .LVL175: 3513 .L328: 3514 .loc 3 593 1 view .LVU865 3515 010a 2046 mov r0, r4 @, 3516 010c 0DB0 add sp, sp, #52 @,, 3517 .LCFI23: 3518 .cfi_remember_state 3519 .cfi_def_cfa_offset 36 3520 @ sp needed @ 3521 010e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 3522 .LVL176: 3523 .L337: 3524 .LCFI24: 3525 .cfi_restore_state 3526 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:588: if (HAL_I2C_Mas 588:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 3527 .loc 3 588 29 view .LVU866 3528 0112 029A ldr r2, [sp, #8] @ addr, %sfp 3529 0114 5500 lsls r5, r2, #1 @ tmp404, addr, 3530 .LBB299: 3531 .LBB292: 3532 .LBB282: 3533 .LBB279: 3534 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6658: if ( 6654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_TIMEOUT; ARM GAS /tmp/ccJhhmLc.s page 315 6656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT) 3535 .loc 10 6658 6 view .LVU867 3536 0116 DBF81020 ldr r2, [fp, #16] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 3537 011a B2F5804F cmp r2, #16384 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].ha 3538 .LBE279: 3539 .LBE282: 3540 .LBE292: 3541 .LBE299: 3542 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:588: if (HAL_I2C_Mas 588:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 3543 .loc 3 588 29 view .LVU868 3544 011e ADB2 uxth r5, r5 @ _2, tmp404 3545 .LBB300: 3546 .LBB293: 3547 .LBB283: 3548 .LBB280: 3549 .loc 10 6658 3 is_stmt 1 view .LVU869 3550 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6658: if ( 3551 .loc 10 6658 6 is_stmt 0 view .LVU870 3552 0120 2CD1 bne .L339 @, 6659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 6661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_READ(DevAddress); 3553 .loc 10 6661 5 is_stmt 1 view .LVU871 3554 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6661: hi 3555 .loc 10 6661 26 is_stmt 0 view .LVU872 3556 0122 45F00105 orr r5, r5, #1 @ tmp412, _2, 3557 0126 EDB2 uxtb r5, r5 @ _180, tmp412 3558 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6661: hi 3559 .loc 10 6661 24 view .LVU873 3560 0128 1D61 str r5, [r3, #16] @ _180, pretmp_253->DR 3561 .LVL177: 3562 .L340: 6662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send header of slave address */ 6666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_WRITE(DevAddress); 6667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADD10 flag is set */ 6669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADD10, Timeout, Tickstart) != HAL_OK 6670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 6675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_ADDRESS(DevAddress); 6676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 6678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK) 6679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ ARM GAS /tmp/ccJhhmLc.s page 316 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 6685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Restart */ 6687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 6688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until SB flag is set */ 6690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK) 6691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR1, I2C_CR1_START) == I2C_CR1_START) 6693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_WRONG_START; 6695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_TIMEOUT; 6697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send header of slave address */ 6700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_10BIT_HEADER_READ(DevAddress); 6701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 6704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK) 3563 .loc 10 6704 3 is_stmt 1 view .LVU874 3564 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6704: if ( 3565 .loc 10 6704 7 is_stmt 0 view .LVU875 3566 012a 5649 ldr r1, .L380+16 @, 3567 012c 3B46 mov r3, r7 @, _162 3568 012e 4246 mov r2, r8 @, timeout 3569 0130 3046 mov r0, r6 @, _9 3570 0132 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 3571 .LVL178: 3572 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6704: if ( 3573 .loc 10 6704 6 discriminator 1 view .LVU876 3574 0136 0028 cmp r0, #0 @ tmp444 3575 0138 E2D1 bne .L331 @ 3576 .LVL179: 3577 .loc 10 6704 6 discriminator 1 view .LVU877 3578 .LBE280: 3579 .LBE283: 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3580 .loc 10 1195 5 is_stmt 1 view .LVU878 3581 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1195: if 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3582 .loc 10 1195 13 is_stmt 0 view .LVU879 3583 013a A823 movs r3, #168 @ tmp447, 3584 013c 03FB09F3 mul r3, r3, r9 @ tmp446, tmp447, bus 3585 0140 E218 adds r2, r4, r3 @ tmp448, tmp299, tmp446 3586 .LBB284: 3587 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1198: 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3588 .loc 10 1198 7 view .LVU880 3589 0142 E358 ldr r3, [r4, r3] @ pretmp_318, MEM [(struct I2C_HandleTypeDef *)&_i2c 3590 .LBE284: 3591 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1195: if 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3592 .loc 10 1195 13 view .LVU881 3593 0144 128D ldrh r2, [r2, #40] @ _40, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3594 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1195: if ARM GAS /tmp/ccJhhmLc.s page 317 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3595 .loc 10 1195 8 view .LVU882 3596 0146 002A cmp r2, #0 @ _40 3597 0148 51D1 bne .L342 @ 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3598 .loc 10 1198 7 is_stmt 1 view .LVU883 3599 .LBB285: 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3600 .loc 10 1198 7 view .LVU884 3601 014a 0892 str r2, [sp, #32] @ _40, tmpreg 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3602 .loc 10 1198 7 view .LVU885 3603 014c 5A69 ldr r2, [r3, #20] @ _42, pretmp_318->SR1 3604 014e 0892 str r2, [sp, #32] @ _42, tmpreg 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3605 .loc 10 1198 7 view .LVU886 3606 0150 9A69 ldr r2, [r3, #24] @ _43, pretmp_318->SR2 3607 0152 0892 str r2, [sp, #32] @ _43, tmpreg 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3608 .loc 10 1198 7 view .LVU887 3609 0154 089A ldr r2, [sp, #32] @ _44, tmpreg 3610 .L373: 3611 .LBE285: 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3612 .loc 10 1198 7 view .LVU888 1201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3613 .loc 10 1201 7 view .LVU889 3614 0156 1A68 ldr r2, [r3] @ _45,* pretmp_318 3615 0158 42F40072 orr r2, r2, #512 @ _46, _45, 3616 015c 1A60 str r2, [r3] @ _46,* pretmp_318 3617 .L345: 3618 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1234: wh 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3619 .loc 10 1234 16 is_stmt 0 view .LVU890 3620 015e A823 movs r3, #168 @ tmp837, 3621 0160 03FB0944 mla r4, r3, r9, r4 @ tmp838, tmp837, bus, tmp299 3622 .LVL180: 3623 .L343: 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3624 .loc 10 1234 27 is_stmt 1 view .LVU891 3625 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1234: wh 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3626 .loc 10 1234 16 is_stmt 0 view .LVU892 3627 0164 208D ldrh r0, [r4, #40] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3628 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1234: wh 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3629 .loc 10 1234 27 view .LVU893 3630 0166 0028 cmp r0, #0 @ _69 3631 0168 69D1 bne .L351 @ 1374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3632 .loc 10 1374 5 is_stmt 1 view .LVU894 3633 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1374: hi 1374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3634 .loc 10 1374 17 is_stmt 0 view .LVU895 3635 016a 2023 movs r3, #32 @ tmp845, 3636 016c 84F83D30 strb r3, [r4, #61] @ tmp845, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 1375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 318 3637 .loc 10 1375 5 is_stmt 1 view .LVU896 3638 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1378: __ 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3639 .loc 10 1378 5 is_stmt 0 view .LVU897 3640 0170 84F83C00 strb r0, [r4, #60] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3641 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1375: hi 1375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3642 .loc 10 1375 16 view .LVU898 3643 0174 84F83E00 strb r0, [r4, #62] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3644 .loc 10 1378 5 is_stmt 1 view .LVU899 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3645 .loc 10 1378 5 view .LVU900 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3646 .loc 10 1378 5 view .LVU901 1380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3647 .loc 10 1380 5 view .LVU902 3648 .LVL181: 1380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3649 .loc 10 1380 5 is_stmt 0 view .LVU903 3650 .LBE293: 3651 .LBE300: 3652 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:592: return 0; 592:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 3653 .loc 3 592 10 view .LVU904 3654 0178 0446 mov r4, r0 @ , _69 3655 017a C3E7 b .L338 @ 3656 .LVL182: 3657 .L339: 3658 .LBB301: 3659 .LBB294: 3660 .LBB286: 3661 .LBB281: 6666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3662 .loc 10 6666 5 is_stmt 1 view .LVU905 3663 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6666: hi 6666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3664 .loc 10 6666 26 is_stmt 0 view .LVU906 3665 017c EA11 asrs r2, r5, #7 @ _182, _2, 3666 017e 02F00602 and r2, r2, #6 @ _184, _182, 3667 0182 0292 str r2, [sp, #8] @ _184, %sfp 3668 .LVL183: 6666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3669 .loc 10 6666 26 view .LVU907 3670 0184 42F0F002 orr r2, r2, #240 @ _187, _184, 3671 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6666: hi 6666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3672 .loc 10 6666 24 view .LVU908 3673 0188 1A61 str r2, [r3, #16] @ _187, pretmp_253->DR 6669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3674 .loc 10 6669 5 is_stmt 1 view .LVU909 3675 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6669: if 6669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3676 .loc 10 6669 9 is_stmt 0 view .LVU910 3677 018a 3F49 ldr r1, .L380+20 @, 3678 018c 3B46 mov r3, r7 @, _162 3679 018e 4246 mov r2, r8 @, timeout ARM GAS /tmp/ccJhhmLc.s page 319 3680 0190 3046 mov r0, r6 @, _9 3681 0192 FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 3682 .LVL184: 3683 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6669: if 6669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3684 .loc 10 6669 8 discriminator 1 view .LVU911 3685 0196 0028 cmp r0, #0 @ tmp871 3686 0198 B2D1 bne .L331 @ 6675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3687 .loc 10 6675 5 is_stmt 1 view .LVU912 3688 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6675: hi 6675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3689 .loc 10 6675 9 is_stmt 0 view .LVU913 3690 019a 54F80A30 ldr r3, [r4, r10] @ _190, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3691 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6678: if 6678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3692 .loc 10 6678 9 view .LVU914 3693 019e 3949 ldr r1, .L380+16 @, 3694 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6675: hi 6675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3695 .loc 10 6675 26 view .LVU915 3696 01a0 EDB2 uxtb r5, r5 @ _191, _2 3697 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6675: hi 6675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3698 .loc 10 6675 24 view .LVU916 3699 01a2 1D61 str r5, [r3, #16] @ _191, _190->DR 6678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3700 .loc 10 6678 5 is_stmt 1 view .LVU917 3701 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6678: if 6678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3702 .loc 10 6678 9 is_stmt 0 view .LVU918 3703 01a4 4246 mov r2, r8 @, timeout 3704 01a6 3B46 mov r3, r7 @, _162 3705 01a8 3046 mov r0, r6 @, _9 3706 01aa FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 3707 .LVL185: 3708 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6678: if 6678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3709 .loc 10 6678 8 discriminator 1 view .LVU919 3710 01ae 0246 mov r2, r0 @ tmp424, tmp872 3711 01b0 0028 cmp r0, #0 @ tmp424 3712 01b2 A5D1 bne .L331 @ 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3713 .loc 10 6684 5 is_stmt 1 view .LVU920 3714 .LBB278: 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3715 .loc 10 6684 5 view .LVU921 3716 01b4 54F80A30 ldr r3, [r4, r10] @ _193, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3717 01b8 0990 str r0, [sp, #36] @ tmp424, tmpreg 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3718 .loc 10 6684 5 view .LVU922 3719 01ba 5969 ldr r1, [r3, #20] @ _194, _193->SR1 3720 01bc 0991 str r1, [sp, #36] @ _194, tmpreg 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3721 .loc 10 6684 5 view .LVU923 3722 01be 9969 ldr r1, [r3, #24] @ _195, _193->SR2 3723 01c0 0991 str r1, [sp, #36] @ _195, tmpreg ARM GAS /tmp/ccJhhmLc.s page 320 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3724 .loc 10 6684 5 view .LVU924 3725 01c2 0999 ldr r1, [sp, #36] @ _196, tmpreg 3726 .LBE278: 6684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3727 .loc 10 6684 5 view .LVU925 6687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3728 .loc 10 6687 5 view .LVU926 3729 01c4 1968 ldr r1, [r3] @ _197, _193->CR1 3730 01c6 41F48071 orr r1, r1, #256 @ _198, _197, 3731 01ca 1960 str r1, [r3] @ _198, _193->CR1 6690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3732 .loc 10 6690 5 view .LVU927 3733 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6690: if 6690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3734 .loc 10 6690 9 is_stmt 0 view .LVU928 3735 01cc 3046 mov r0, r6 @, _9 3736 01ce 0097 str r7, [sp] @ _162, 3737 01d0 4346 mov r3, r8 @, timeout 3738 01d2 4FF00111 mov r1, #65537 @, 3739 01d6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3740 .LVL186: 3741 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6692: 6692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3742 .loc 10 6692 11 view .LVU929 3743 01da 54F80A20 ldr r2, [r4, r10] @ pretmp_320, MEM [(struct I2C_HandleTypeDef *)&_i2 3744 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6690: if 6690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3745 .loc 10 6690 8 discriminator 1 view .LVU930 3746 01de 08B1 cbz r0, .L341 @ tmp873, 6692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3747 .loc 10 6692 7 is_stmt 1 view .LVU931 3748 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6692: 6692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3749 .loc 10 6692 11 is_stmt 0 view .LVU932 3750 01e0 1368 ldr r3, [r2] @ _201, pretmp_320->CR1 3751 01e2 87E7 b .L377 @ 3752 .L341: 6700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3753 .loc 10 6700 5 is_stmt 1 view .LVU933 3754 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6700: hi 6700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3755 .loc 10 6700 26 is_stmt 0 view .LVU934 3756 01e4 029B ldr r3, [sp, #8] @ _184, %sfp 3757 01e6 43F0F103 orr r3, r3, #241 @ _205, _184, 3758 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6700: hi 6700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3759 .loc 10 6700 24 view .LVU935 3760 01ea 1361 str r3, [r2, #16] @ _205, pretmp_320->DR 3761 01ec 9DE7 b .L340 @ 3762 .LVL187: 3763 .L342: 6700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3764 .loc 10 6700 24 view .LVU936 3765 .LBE281: 3766 .LBE286: 1203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 321 3767 .loc 10 1203 10 is_stmt 1 view .LVU937 3768 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1203: el 1203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3769 .loc 10 1203 13 is_stmt 0 view .LVU938 3770 01ee 012A cmp r2, #1 @ _40, 3771 01f0 0AD1 bne .L344 @, 1206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3772 .loc 10 1206 7 is_stmt 1 view .LVU939 3773 01f2 1A68 ldr r2, [r3] @ _48, pretmp_318->CR1 3774 01f4 22F48062 bic r2, r2, #1024 @ _49, _48, 3775 01f8 1A60 str r2, [r3] @ _49, pretmp_318->CR1 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3776 .loc 10 1209 7 view .LVU940 3777 .LBB287: 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3778 .loc 10 1209 7 view .LVU941 3779 01fa 0790 str r0, [sp, #28] @ tmp444, tmpreg 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3780 .loc 10 1209 7 view .LVU942 3781 01fc 5A69 ldr r2, [r3, #20] @ _50, pretmp_318->SR1 3782 01fe 0792 str r2, [sp, #28] @ _50, tmpreg 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3783 .loc 10 1209 7 view .LVU943 3784 0200 9A69 ldr r2, [r3, #24] @ _51, pretmp_318->SR2 3785 0202 0792 str r2, [sp, #28] @ _51, tmpreg 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3786 .loc 10 1209 7 view .LVU944 3787 0204 079A ldr r2, [sp, #28] @ _52, tmpreg 3788 .LBE287: 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3789 .loc 10 1209 7 view .LVU945 1212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3790 .loc 10 1212 7 view .LVU946 3791 0206 A6E7 b .L373 @ 3792 .L344: 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3793 .loc 10 1214 10 view .LVU947 3794 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1214: el 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3795 .loc 10 1214 13 is_stmt 0 view .LVU948 3796 0208 022A cmp r2, #2 @ _40, 3797 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1217: 1217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3798 .loc 10 1217 7 view .LVU949 3799 020a 1A68 ldr r2, [r3] @ _56,* pretmp_318 3800 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1214: el 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3801 .loc 10 1214 13 view .LVU950 3802 020c 0DD1 bne .L346 @, 1217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3803 .loc 10 1217 7 is_stmt 1 view .LVU951 3804 020e 22F48062 bic r2, r2, #1024 @ _57, _56, 3805 0212 1A60 str r2, [r3] @ _57, pretmp_318->CR1 1220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3806 .loc 10 1220 7 view .LVU952 3807 0214 1A68 ldr r2, [r3] @ _58, pretmp_318->CR1 3808 0216 42F40062 orr r2, r2, #2048 @ _59, _58, ARM GAS /tmp/ccJhhmLc.s page 322 3809 021a 1A60 str r2, [r3] @ _59, pretmp_318->CR1 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3810 .loc 10 1223 7 view .LVU953 3811 .LBB288: 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3812 .loc 10 1223 7 view .LVU954 3813 021c 0690 str r0, [sp, #24] @ tmp444, tmpreg 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3814 .loc 10 1223 7 view .LVU955 3815 021e 5A69 ldr r2, [r3, #20] @ _60, pretmp_318->SR1 3816 0220 0692 str r2, [sp, #24] @ _60, tmpreg 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3817 .loc 10 1223 7 view .LVU956 3818 0222 9B69 ldr r3, [r3, #24] @ _61, pretmp_318->SR2 3819 0224 0693 str r3, [sp, #24] @ _61, tmpreg 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3820 .loc 10 1223 7 view .LVU957 3821 0226 069B ldr r3, [sp, #24] @ _62, tmpreg 3822 .LBE288: 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3823 .loc 10 1223 7 view .LVU958 3824 0228 99E7 b .L345 @ 3825 .L346: 1228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3826 .loc 10 1228 7 view .LVU959 3827 022a 42F48062 orr r2, r2, #1024 @ _65, _64, 3828 022e 1A60 str r2, [r3] @ _65, pretmp_318->CR1 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3829 .loc 10 1231 7 view .LVU960 3830 .LBB289: 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3831 .loc 10 1231 7 view .LVU961 3832 0230 0590 str r0, [sp, #20] @ tmp444, tmpreg 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3833 .loc 10 1231 7 view .LVU962 3834 0232 5A69 ldr r2, [r3, #20] @ _66, pretmp_318->SR1 3835 0234 0592 str r2, [sp, #20] @ _66, tmpreg 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3836 .loc 10 1231 7 view .LVU963 3837 0236 9B69 ldr r3, [r3, #24] @ _67, pretmp_318->SR2 3838 0238 0593 str r3, [sp, #20] @ _67, tmpreg 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3839 .loc 10 1231 7 view .LVU964 3840 023a 059B ldr r3, [sp, #20] @ _68, tmpreg 3841 023c 8FE7 b .L345 @ 3842 .LVL188: 3843 .L351: 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3844 .loc 10 1231 7 is_stmt 0 view .LVU965 3845 .LBE289: 1236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3846 .loc 10 1236 7 is_stmt 1 view .LVU966 3847 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1236: 1236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3848 .loc 10 1236 10 is_stmt 0 view .LVU967 3849 023e 0328 cmp r0, #3 @ _69, 3850 0240 64D8 bhi .L347 @, ARM GAS /tmp/ccJhhmLc.s page 323 1239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3851 .loc 10 1239 9 is_stmt 1 view .LVU968 3852 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1239: 1239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3853 .loc 10 1239 12 is_stmt 0 view .LVU969 3854 0242 0128 cmp r0, #1 @ _69, 3855 0244 22D1 bne .L348 @, 1242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3856 .loc 10 1242 11 is_stmt 1 view .LVU970 3857 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1242: 1242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3858 .loc 10 1242 15 is_stmt 0 view .LVU971 3859 0246 3A46 mov r2, r7 @, _162 3860 0248 4146 mov r1, r8 @, timeout 3861 024a 3046 mov r0, r6 @, _9 3862 024c FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 @ 3863 .LVL189: 3864 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1242: 1242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3865 .loc 10 1242 14 discriminator 1 view .LVU972 3866 0250 0028 cmp r0, #0 @ tmp875 3867 0252 7FF455AF bne .L331 @ 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3868 .loc 10 1248 11 is_stmt 1 view .LVU973 3869 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1248: 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3870 .loc 10 1248 42 is_stmt 0 view .LVU974 3871 0256 2368 ldr r3, [r4] @ _71, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 3872 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1248: 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3873 .loc 10 1248 52 view .LVU975 3874 0258 1A69 ldr r2, [r3, #16] @ _72, _71->DR 3875 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1248: 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3876 .loc 10 1248 16 view .LVU976 3877 025a 636A ldr r3, [r4, #36] @ _73, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 3878 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1248: 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3879 .loc 10 1248 29 view .LVU977 3880 025c 1A70 strb r2, [r3] @ _72, *_73 1251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3881 .loc 10 1251 11 is_stmt 1 view .LVU978 3882 .L374: 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3883 .loc 10 1365 11 view .LVU979 3884 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1365: 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3885 .loc 10 1365 25 is_stmt 0 view .LVU980 3886 025e 636A ldr r3, [r4, #36] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 3887 0260 0133 adds r3, r3, #1 @ _155, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 3888 0262 6362 str r3, [r4, #36] @ _155, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 1368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 3889 .loc 10 1368 11 is_stmt 1 view .LVU981 3890 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1368: 1368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 3891 .loc 10 1368 25 is_stmt 0 view .LVU982 3892 0264 238D ldrh r3, [r4, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 ARM GAS /tmp/ccJhhmLc.s page 324 3893 0266 013B subs r3, r3, #1 @ tmp820, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3894 0268 2385 strh r3, [r4, #40] @ movhi @ tmp820, MEM [(struct I2C_HandleTypeDef * 1369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3895 .loc 10 1369 11 is_stmt 1 view .LVU983 3896 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1369: 1369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3897 .loc 10 1369 15 is_stmt 0 view .LVU984 3898 026a 638D ldrh r3, [r4, #42] @, 3899 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1369: 1369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 3900 .loc 10 1369 26 view .LVU985 3901 026c 013B subs r3, r3, #1 @ tmp828, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3902 026e 9BB2 uxth r3, r3 @ _159, tmp828 3903 0270 6385 strh r3, [r4, #42] @ movhi @ _159, 3904 0272 77E7 b .L343 @ 3905 .L381: 3906 .align 2 3907 .L380: 3908 0274 00000000 .word _ZL9_i2c_devs 3909 0278 00000000 .word _ZL9_ms_ticks.lto_priv.0 3910 027c 02001000 .word 1048578 3911 0280 0000FFFF .word -65536 3912 0284 02000100 .word 65538 3913 0288 08000100 .word 65544 3914 .L348: 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3915 .loc 10 1258 14 is_stmt 1 view .LVU986 3916 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1258: 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3917 .loc 10 1258 17 is_stmt 0 view .LVU987 3918 028c 0228 cmp r0, #2 @ _69, 3919 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1261: 1261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3920 .loc 10 1261 15 view .LVU988 3921 028e 2F49 ldr r1, .L382 @, 3922 0290 0097 str r7, [sp] @ _162, 3923 0292 4346 mov r3, r8 @, timeout 3924 0294 4FF00002 mov r2, #0 @, 3925 0298 3046 mov r0, r6 @, _9 3926 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1258: 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3927 .loc 10 1258 17 view .LVU989 3928 029a 1AD1 bne .L350 @, 3929 .LVL190: 3930 .L379: 3931 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1312: 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3932 .loc 10 1312 15 view .LVU990 3933 029c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3934 .LVL191: 3935 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1312: 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3936 .loc 10 1312 14 discriminator 1 view .LVU991 3937 02a0 0028 cmp r0, #0 @ tmp878 3938 02a2 7FF42DAF bne .L331 @ 1318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3939 .loc 10 1318 11 is_stmt 1 view .LVU992 ARM GAS /tmp/ccJhhmLc.s page 325 3940 02a6 2368 ldr r3, [r4] @ _117, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 3941 02a8 1A68 ldr r2, [r3] @ _118,* _117 3942 02aa 42F40072 orr r2, r2, #512 @ _119, _118, 3943 02ae 1A60 str r2, [r3] @ _119,* _117 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3944 .loc 10 1321 11 view .LVU993 3945 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1321: 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3946 .loc 10 1321 52 is_stmt 0 view .LVU994 3947 02b0 1A69 ldr r2, [r3, #16] @ _120, 3948 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1321: 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3949 .loc 10 1321 16 view .LVU995 3950 02b2 636A ldr r3, [r4, #36] @ _121, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3951 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1321: 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3952 .loc 10 1321 29 view .LVU996 3953 02b4 1A70 strb r2, [r3] @ _120,* _121 1324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3954 .loc 10 1324 11 is_stmt 1 view .LVU997 3955 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1324: 1324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3956 .loc 10 1324 15 is_stmt 0 view .LVU998 3957 02b6 626A ldr r2, [r4, #36] @ _123, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3958 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1324: 1324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3959 .loc 10 1324 25 view .LVU999 3960 02b8 531C adds r3, r2, #1 @ _124, _123, 3961 02ba 6362 str r3, [r4, #36] @ _124, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 1327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 3962 .loc 10 1327 11 is_stmt 1 view .LVU1000 3963 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1327: 1327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 3964 .loc 10 1327 25 is_stmt 0 view .LVU1001 3965 02bc 238D ldrh r3, [r4, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 3966 02be 013B subs r3, r3, #1 @ tmp685, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3967 02c0 2385 strh r3, [r4, #40] @ movhi @ tmp685, MEM [(struct I2C_HandleTypeDef * 1328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3968 .loc 10 1328 11 is_stmt 1 view .LVU1002 3969 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1328: 1328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3970 .loc 10 1328 15 is_stmt 0 view .LVU1003 3971 02c2 638D ldrh r3, [r4, #42] @, 3972 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1328: 1328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3973 .loc 10 1328 26 view .LVU1004 3974 02c4 013B subs r3, r3, #1 @ tmp693, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 3975 02c6 9BB2 uxth r3, r3 @ _128, tmp693 3976 02c8 6385 strh r3, [r4, #42] @ movhi @ _128, 1331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3977 .loc 10 1331 11 is_stmt 1 view .LVU1005 3978 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1331: 1331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3979 .loc 10 1331 42 is_stmt 0 view .LVU1006 3980 02ca 2368 ldr r3, [r4] @ _129, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 3981 .L375: 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 326 3982 .loc 10 1362 11 is_stmt 1 view .LVU1007 3983 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1362: 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3984 .loc 10 1362 52 is_stmt 0 view .LVU1008 3985 02cc 1B69 ldr r3, [r3, #16] @ _152, 3986 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1362: 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 3987 .loc 10 1362 29 view .LVU1009 3988 02ce 5370 strb r3, [r2, #1] @ _152, 3989 02d0 C5E7 b .L374 @ 3990 .LVL192: 3991 .L350: 1293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3992 .loc 10 1293 11 is_stmt 1 view .LVU1010 3993 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1293: 1293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3994 .loc 10 1293 15 is_stmt 0 view .LVU1011 3995 02d2 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 3996 .LVL193: 3997 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1293: 1293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 3998 .loc 10 1293 14 discriminator 1 view .LVU1012 3999 02d6 0246 mov r2, r0 @ tmp602, tmp877 4000 02d8 0028 cmp r0, #0 @ tmp602 4001 02da 7FF411AF bne .L331 @ 1299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4002 .loc 10 1299 11 is_stmt 1 view .LVU1013 4003 02de 2368 ldr r3, [r4] @ _104, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4004 02e0 1968 ldr r1, [r3] @ _105, _104->CR1 4005 02e2 21F48061 bic r1, r1, #1024 @ _106, _105, 4006 02e6 1960 str r1, [r3] @ _106, _104->CR1 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4007 .loc 10 1302 11 view .LVU1014 4008 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1302: 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4009 .loc 10 1302 52 is_stmt 0 view .LVU1015 4010 02e8 1969 ldr r1, [r3, #16] @ _107, _104->DR 4011 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1302: 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4012 .loc 10 1302 16 view .LVU1016 4013 02ea 636A ldr r3, [r4, #36] @ _108, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4014 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1302: 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4015 .loc 10 1302 29 view .LVU1017 4016 02ec 1970 strb r1, [r3] @ _107, *_108 1305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4017 .loc 10 1305 11 is_stmt 1 view .LVU1018 4018 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1305: 1305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4019 .loc 10 1305 25 is_stmt 0 view .LVU1019 4020 02ee 636A ldr r3, [r4, #36] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 4021 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1312: 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4022 .loc 10 1312 15 view .LVU1020 4023 02f0 1649 ldr r1, .L382 @, 4024 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1305: 1305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 327 4025 .loc 10 1305 25 view .LVU1021 4026 02f2 0133 adds r3, r3, #1 @ _111, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 4027 02f4 6362 str r3, [r4, #36] @ _111, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 1308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 4028 .loc 10 1308 11 is_stmt 1 view .LVU1022 4029 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1308: 1308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 4030 .loc 10 1308 25 is_stmt 0 view .LVU1023 4031 02f6 238D ldrh r3, [r4, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4032 02f8 013B subs r3, r3, #1 @ tmp636, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4033 02fa 2385 strh r3, [r4, #40] @ movhi @ tmp636, MEM [(struct I2C_HandleTypeDef * 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4034 .loc 10 1309 11 is_stmt 1 view .LVU1024 4035 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1309: 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4036 .loc 10 1309 15 is_stmt 0 view .LVU1025 4037 02fc 638D ldrh r3, [r4, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4038 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1309: 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4039 .loc 10 1309 26 view .LVU1026 4040 02fe 013B subs r3, r3, #1 @ tmp644, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4041 0300 9BB2 uxth r3, r3 @ _115, tmp644 4042 0302 6385 strh r3, [r4, #42] @ movhi @ _115, MEM [(struct I2C_HandleTypeDef *)& 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4043 .loc 10 1312 11 is_stmt 1 view .LVU1027 4044 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1312: 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4045 .loc 10 1312 15 is_stmt 0 view .LVU1028 4046 0304 3046 mov r0, r6 @, _9 4047 0306 0097 str r7, [sp] @ _162, 4048 0308 4346 mov r3, r8 @, timeout 4049 030a C7E7 b .L379 @ 4050 .L347: 1344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4051 .loc 10 1344 9 is_stmt 1 view .LVU1029 4052 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1344: 1344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4053 .loc 10 1344 13 is_stmt 0 view .LVU1030 4054 030c 3A46 mov r2, r7 @, _162 4055 030e 4146 mov r1, r8 @, timeout 4056 0310 3046 mov r0, r6 @, _9 4057 0312 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 @ 4058 .LVL194: 4059 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1344: 1344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4060 .loc 10 1344 12 discriminator 1 view .LVU1031 4061 0316 0028 cmp r0, #0 @ tmp879 4062 0318 7FF4F2AE bne .L331 @ 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4063 .loc 10 1350 9 is_stmt 1 view .LVU1032 4064 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1350: 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4065 .loc 10 1350 40 is_stmt 0 view .LVU1033 4066 031c 2368 ldr r3, [r4] @ _139, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4067 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1350: 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4068 .loc 10 1350 50 view .LVU1034 ARM GAS /tmp/ccJhhmLc.s page 328 4069 031e 1A69 ldr r2, [r3, #16] @ _140, _139->DR 4070 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1350: 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4071 .loc 10 1350 14 view .LVU1035 4072 0320 636A ldr r3, [r4, #36] @ _141, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4073 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1350: 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4074 .loc 10 1350 27 view .LVU1036 4075 0322 1A70 strb r2, [r3] @ _140, *_141 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4076 .loc 10 1353 9 is_stmt 1 view .LVU1037 4077 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1353: 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4078 .loc 10 1353 13 is_stmt 0 view .LVU1038 4079 0324 626A ldr r2, [r4, #36] @ _143, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4080 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1353: 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4081 .loc 10 1353 23 view .LVU1039 4082 0326 531C adds r3, r2, #1 @ _144, _143, 4083 0328 6362 str r3, [r4, #36] @ _144, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 1356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 4084 .loc 10 1356 9 is_stmt 1 view .LVU1040 4085 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1356: 1356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 4086 .loc 10 1356 23 is_stmt 0 view .LVU1041 4087 032a 238D ldrh r3, [r4, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4088 032c 013B subs r3, r3, #1 @ tmp776, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4089 032e 2385 strh r3, [r4, #40] @ movhi @ tmp776, MEM [(struct I2C_HandleTypeDef * 1357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4090 .loc 10 1357 9 is_stmt 1 view .LVU1042 4091 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1357: 1357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4092 .loc 10 1357 13 is_stmt 0 view .LVU1043 4093 0330 638D ldrh r3, [r4, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4094 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1357: 1357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4095 .loc 10 1357 24 view .LVU1044 4096 0332 013B subs r3, r3, #1 @ tmp784, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4097 0334 9BB2 uxth r3, r3 @ _148, tmp784 4098 0336 6385 strh r3, [r4, #42] @ movhi @ _148, MEM [(struct I2C_HandleTypeDef *)& 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4099 .loc 10 1359 9 is_stmt 1 view .LVU1045 4100 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1359: 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4101 .loc 10 1359 13 is_stmt 0 view .LVU1046 4102 0338 2368 ldr r3, [r4] @ _149, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4103 033a 5969 ldr r1, [r3, #20] @ _150, _149->SR1 4104 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:1359: 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4105 .loc 10 1359 12 view .LVU1047 4106 033c 4907 lsls r1, r1, #29 @, _150, 4107 033e 7FF511AF bpl .L343 @, 4108 0342 C3E7 b .L375 @ 4109 .LVL195: 4110 .L352: 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4111 .loc 10 1359 12 view .LVU1048 ARM GAS /tmp/ccJhhmLc.s page 329 4112 .LBE294: 4113 .LBE301: 4114 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:585: if (!h) return 585:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 4115 .loc 3 585 19 discriminator 1 view .LVU1049 4116 0344 4FF0FF34 mov r4, #-1 @ , 4117 .LVL196: 585:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 4118 .loc 3 585 19 discriminator 1 view .LVU1050 4119 0348 DFE6 b .L328 @ 4120 .L383: 4121 034a 00BF .align 2 4122 .L382: 4123 034c 04000100 .word 65540 4124 .cfi_endproc 4125 .LFE60: 4126 .size _Z19stm32_i2c_master_rxhtPhtm, .-_Z19stm32_i2c_master_rxhtPhtm 4127 .section .text._Z14stm32_i2c_readhtttPhtm,"ax",%progbits 4128 .align 1 4129 .global _Z14stm32_i2c_readhtttPhtm 4130 .syntax unified 4131 .thumb 4132 .thumb_func 4133 .type _Z14stm32_i2c_readhtttPhtm, %function 4134 _Z14stm32_i2c_readhtttPhtm: 4135 .LVL197: 4136 .LFB63: 594:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 595:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int stm32_i2c_read(uint8_t bus, uint16_t addr, uint16_t reg, uint16_t reg_size, 596:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint8_t* data, uint16_t len, uint32_t timeout) 597:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 4137 .loc 3 597 1 is_stmt 1 view -0 4138 .cfi_startproc 4139 @ args = 12, pretend = 0, frame = 40 4140 @ frame_needed = 0, uses_anonymous_args = 0 598:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 4141 .loc 3 598 3 view .LVU1052 4142 .LBB321: 4143 .LBI321: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 4144 .loc 3 54 27 view .LVU1053 4145 .LBB322: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 4146 .loc 3 56 3 view .LVU1054 4147 .LBE322: 4148 .LBE321: 4149 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:597: { 597:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 4150 .loc 3 597 1 is_stmt 0 view .LVU1055 4151 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 4152 .LCFI25: 4153 .cfi_def_cfa_offset 36 4154 .cfi_offset 4, -36 4155 .cfi_offset 5, -32 4156 .cfi_offset 6, -28 4157 .cfi_offset 7, -24 4158 .cfi_offset 8, -20 ARM GAS /tmp/ccJhhmLc.s page 330 4159 .cfi_offset 9, -16 4160 .cfi_offset 10, -12 4161 .cfi_offset 11, -8 4162 .cfi_offset 14, -4 4163 0004 8DB0 sub sp, sp, #52 @,, 4164 .LCFI26: 4165 .cfi_def_cfa_offset 88 4166 .LBB325: 4167 .LBB323: 4168 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 4169 .loc 3 56 3 view .LVU1056 4170 0006 0128 cmp r0, #1 @ bus, 4171 .LBE323: 4172 .LBE325: 4173 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:597: { 597:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 4174 .loc 3 597 1 view .LVU1057 4175 0008 CDE90223 strd r2, r3, [sp, #8] @ tmp891, tmp892,, 4176 000c 189F ldr r7, [sp, #96] @ timeout, timeout 4177 000e 8146 mov r9, r0 @ bus, tmp889 4178 0010 8B46 mov fp, r1 @ addr, tmp890 4179 .LBB326: 4180 .LBB324: 4181 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 4182 .loc 3 56 3 view .LVU1058 4183 0012 00F2B581 bhi .L408 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4184 .loc 3 57 3 is_stmt 1 view .LVU1059 4185 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:57: return &_i2c_dev 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4186 .loc 3 57 26 is_stmt 0 view .LVU1060 4187 0016 DFF8A482 ldr r8, .L430+8 @ tmp307, 4188 001a 4542 rsbs r5, r0, #0 @ tmp306, bus 4189 001c 05F0A805 and r5, r5, #168 @ _223, tmp306, 4190 0020 05EB0804 add r4, r5, r8 @ _9, _223, tmp307 4191 .LVL198: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4192 .loc 3 57 26 view .LVU1061 4193 .LBE324: 4194 .LBE326: 599:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 4195 .loc 3 599 3 is_stmt 1 view .LVU1062 600:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 601:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2CMutex(bus); 4196 .loc 3 601 3 view .LVU1063 4197 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:601: I2CMutex(bus); 4198 .loc 3 601 3 is_stmt 0 discriminator 1 view .LVU1064 4199 0024 2046 mov r0, r4 @, _9 4200 .LVL199: 4201 .loc 3 601 3 discriminator 1 view .LVU1065 4202 0026 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 4203 .LVL200: 4204 .loc 3 601 3 is_stmt 1 discriminator 2 view .LVU1066 4205 .LBB327: 4206 .LBI327: ARM GAS /tmp/ccJhhmLc.s page 331 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4207 .loc 7 102 20 view .LVU1067 4208 .LBB328: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4209 .loc 7 102 55 view .LVU1068 4210 .LBE328: 4211 .LBE327: 4212 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:601: I2CMutex(bus); 4213 .loc 3 601 3 is_stmt 0 discriminator 3 view .LVU1069 4214 002a 05F15801 add r1, r5, #88 @ _163, _223, 4215 .LBB331: 4216 .LBB332: 4217 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2615: if ( 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4218 .loc 10 2615 11 view .LVU1070 4219 002e A825 movs r5, #168 @ tmp315, 4220 .LVL201: 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4221 .loc 10 2615 11 view .LVU1071 4222 .LBE332: 4223 .LBE331: 4224 .LBB354: 4225 .LBB329: 4226 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4227 .loc 7 102 75 view .LVU1072 4228 0030 4144 add r1, r1, r8 @, tmp307 4229 .LVL202: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4230 .loc 7 102 75 view .LVU1073 4231 0032 0AA8 add r0, sp, #40 @,, 4232 .LBE329: 4233 .LBE354: 4234 .LBB355: 4235 .LBB350: 4236 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2615: if ( 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4237 .loc 10 2615 11 view .LVU1074 4238 0034 05FB09F5 mul r5, r5, r9 @ tmp314, tmp315, bus 4239 .LBE350: 4240 .LBE355: 4241 .LBB356: 4242 .LBB330: 4243 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4244 .loc 7 102 75 view .LVU1075 4245 0038 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 4246 .LVL203: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 4247 .loc 7 102 75 view .LVU1076 4248 .LBE330: 4249 .LBE356: 602:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (HAL_I2C_Mem_Read(h, addr << 1, reg, reg_size, data, len, timeout) != HAL_OK) { 4250 .loc 3 602 3 is_stmt 1 view .LVU1077 4251 .LBB357: 4252 .LBI331: 2607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 332 4253 .loc 10 2607 19 view .LVU1078 4254 .LBB351: 2610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4255 .loc 10 2610 3 view .LVU1079 4256 .LBB333: 4257 .LBI333: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 4258 .loc 11 25 21 view .LVU1080 4259 .loc 11 27 5 view .LVU1081 4260 .LBB334: 4261 .LBI334: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 4262 .loc 5 54 10 view .LVU1082 4263 .LBB335: 4264 .loc 5 56 3 view .LVU1083 4265 .LBE335: 4266 .LBE334: 4267 .LBE333: 4268 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2615: if ( 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4269 .loc 10 2615 11 is_stmt 0 view .LVU1084 4270 003c 08EB050A add r10, r8, r5 @ tmp316, tmp307, tmp314 4271 .LBB338: 4272 .LBB337: 4273 .LBB336: 4274 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 4275 .loc 5 56 10 view .LVU1085 4276 0040 9C4B ldr r3, .L430 @ tmp312, 4277 0042 1E68 ldr r6, [r3] @ _162, _ms_ticks 4278 .LVL204: 4279 .loc 5 56 10 view .LVU1086 4280 .LBE336: 4281 .LBE337: 4282 .LBE338: 2613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4283 .loc 10 2613 3 is_stmt 1 view .LVU1087 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4284 .loc 10 2615 3 view .LVU1088 4285 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2615: if ( 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4286 .loc 10 2615 11 is_stmt 0 view .LVU1089 4287 0044 9AF83D30 ldrb r3, [r10, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeD 4288 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2615: if ( 2615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4289 .loc 10 2615 6 view .LVU1090 4290 0048 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handl 4291 004a 54D1 bne .L387 @, 2618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4292 .loc 10 2618 5 is_stmt 1 view .LVU1091 4293 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2618: if 2618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4294 .loc 10 2618 9 is_stmt 0 view .LVU1092 4295 004c 9A49 ldr r1, .L430+4 @, 4296 004e 0096 str r6, [sp] @ _162, 4297 0050 1923 movs r3, #25 @, 4298 0052 0122 movs r2, #1 @, 4299 0054 2046 mov r0, r4 @, _9 ARM GAS /tmp/ccJhhmLc.s page 333 4300 0056 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4301 .LVL205: 4302 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2618: if 2618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4303 .loc 10 2618 8 discriminator 1 view .LVU1093 4304 005a 0028 cmp r0, #0 @ tmp893 4305 005c 4BD1 bne .L387 @ 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4306 .loc 10 2624 5 is_stmt 1 view .LVU1094 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4307 .loc 10 2624 5 view .LVU1095 4308 005e 9AF83C30 ldrb r3, [r10, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeD 4309 0062 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handle 4310 0064 47D0 beq .L387 @, 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4311 .loc 10 2624 5 discriminator 2 view .LVU1096 4312 0066 0123 movs r3, #1 @ tmp333, 4313 0068 8AF83C30 strb r3, [r10, #60] @ tmp333, MEM [(struct I2C_HandleTypeDef *)&_i2c_ 2624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4314 .loc 10 2624 5 view .LVU1097 2627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4315 .loc 10 2627 5 view .LVU1098 4316 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2627: if 2627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4317 .loc 10 2627 14 is_stmt 0 view .LVU1099 4318 006c 58F80530 ldr r3, [r8, r5] @ _33, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 4319 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2641: hi 2641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 4320 .loc 10 2641 23 view .LVU1100 4321 0070 1699 ldr r1, [sp, #88] @ data, data 4322 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2627: if 2627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4323 .loc 10 2627 24 view .LVU1101 4324 0072 1A68 ldr r2, [r3] @ _34, _33->CR1 4325 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2627: if 2627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4326 .loc 10 2627 8 view .LVU1102 4327 0074 D507 lsls r5, r2, #31 @, _34, 2630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4328 .loc 10 2630 7 is_stmt 1 view .LVU1103 4329 0076 58BF it pl 4330 0078 1A68 ldrpl r2, [r3] @ _36, _33->CR1 4331 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2636: hi 2636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 4332 .loc 10 2636 21 is_stmt 0 view .LVU1104 4333 007a 904D ldr r5, .L430+8 @ tmp340, 4334 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2630: 2630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4335 .loc 10 2630 7 view .LVU1105 4336 007c 5CBF itt pl 4337 007e 42F00102 orrpl r2, r2, #1 @ _37, _36, 4338 0082 1A60 strpl r2, [r3] @ _37, _33->CR1 2634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4339 .loc 10 2634 5 is_stmt 1 view .LVU1106 4340 0084 1A68 ldr r2, [r3] @ _38, _33->CR1 4341 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2636: hi 2636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; ARM GAS /tmp/ccJhhmLc.s page 334 4342 .loc 10 2636 21 is_stmt 0 view .LVU1107 4343 0086 4FF0A80A mov r10, #168 @ tmp342, 4344 008a 0AFB09FA mul r10, r10, r9 @ tmp341, tmp342, bus 4345 008e 05EB0A08 add r8, r5, r10 @ tmp343, tmp340, tmp341 4346 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2634: CL 2634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4347 .loc 10 2634 5 view .LVU1108 4348 0092 22F40062 bic r2, r2, #2048 @ _39, _38, 4349 0096 1A60 str r2, [r3] @ _39, _33->CR1 2636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 4350 .loc 10 2636 5 is_stmt 1 view .LVU1109 4351 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2636: hi 2636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 4352 .loc 10 2636 21 is_stmt 0 view .LVU1110 4353 0098 2222 movs r2, #34 @ tmp345, 4354 009a 88F83D20 strb r2, [r8, #61] @ tmp345, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4355 .loc 10 2637 5 is_stmt 1 view .LVU1111 4356 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2637: hi 2637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4357 .loc 10 2637 21 is_stmt 0 view .LVU1112 4358 009e 4022 movs r2, #64 @ tmp352, 4359 00a0 88F83E20 strb r2, [r8, #62] @ tmp352, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4360 .loc 10 2638 5 is_stmt 1 view .LVU1113 4361 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2641: hi 2641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 4362 .loc 10 2641 23 is_stmt 0 view .LVU1114 4363 00a4 C8F82410 str r1, [r8, #36] @ data, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4364 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2638: hi 2638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4365 .loc 10 2638 21 view .LVU1115 4366 00a8 0022 movs r2, #0 @ tmp359, 4367 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2642: hi 2642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4368 .loc 10 2642 23 view .LVU1116 4369 00aa BDF85C10 ldrh r1, [sp, #92] @ len, len 4370 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2638: hi 2638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4371 .loc 10 2638 21 view .LVU1117 4372 00ae C8F84020 str r2, [r8, #64] @ tmp359, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 2641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 4373 .loc 10 2641 5 is_stmt 1 view .LVU1118 2642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4374 .loc 10 2642 5 view .LVU1119 4375 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2642: hi 2642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4376 .loc 10 2642 23 is_stmt 0 view .LVU1120 4377 00b2 A8F82A10 strh r1, [r8, #42] @ movhi @ len, MEM [(struct I2C_HandleTypeDef *)&_ 2643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4378 .loc 10 2643 5 is_stmt 1 view .LVU1121 4379 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2643: hi 2643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4380 .loc 10 2643 29 is_stmt 0 view .LVU1122 4381 00b6 B8F82A10 ldrh r1, [r8, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4382 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2643: hi 2643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; ARM GAS /tmp/ccJhhmLc.s page 335 4383 .loc 10 2643 23 view .LVU1123 4384 00ba A8F82810 strh r1, [r8, #40] @ movhi @ MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4385 .loc 10 2644 5 is_stmt 1 view .LVU1124 4386 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2644: hi 2644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4387 .loc 10 2644 23 is_stmt 0 view .LVU1125 4388 00be 8049 ldr r1, .L430+12 @ tmp388, 4389 00c0 C8F82C10 str r1, [r8, #44] @ tmp388, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 2647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4390 .loc 10 2647 5 is_stmt 1 view .LVU1126 4391 .LVL206: 4392 .LBB339: 4393 .LBI339: 6705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 6710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques 6714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 6717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 6718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddress Internal memory address 6719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 6720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 6721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Tickstart Tick start value 6722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 6723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1 6725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 6727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 6728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until SB flag is set */ 6730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK) 6731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR1, I2C_CR1_START) == I2C_CR1_START) 6733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_WRONG_START; 6735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_TIMEOUT; 6737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 6740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress); 6741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 6743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK) 6744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 336 6748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 6750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until TXE flag is set */ 6752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 6753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 6755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 6757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 6758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 6763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 6764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Memory Address */ 6766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress); 6767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 6769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send MSB of Memory Address */ 6772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_MSB(MemAddress); 6773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until TXE flag is set */ 6775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 6776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 6778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 6780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 6781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send LSB of Memory Address */ 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress); 6787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_OK; 6790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /** 6793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request 6794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * the configuration information for I2C module 6796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 6797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 6798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddress Internal memory address 6799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 6800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Timeout Timeout duration 6801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @param Tickstart Tick start value 6802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** * @retval HAL status 6803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** */ 6804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16 ARM GAS /tmp/ccJhhmLc.s page 337 4394 .loc 10 6804 26 view .LVU1127 4395 .LBB340: 6805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Enable Acknowledge */ 6807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_ACK); 4396 .loc 10 6807 3 view .LVU1128 4397 00c4 1968 ldr r1, [r3] @ _164, _33->CR1 4398 00c6 41F48061 orr r1, r1, #1024 @ _165, _164, 4399 00ca 1960 str r1, [r3] @ _165, _33->CR1 6808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Start */ 6810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 4400 .loc 10 6810 3 view .LVU1129 4401 00cc 1968 ldr r1, [r3] @ _166, _33->CR1 4402 00ce 41F48071 orr r1, r1, #256 @ _167, _166, 4403 00d2 1960 str r1, [r3] @ _167, _33->CR1 6811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until SB flag is set */ 6813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK) 4404 .loc 10 6813 3 view .LVU1130 4405 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6813: if ( 4406 .loc 10 6813 7 is_stmt 0 view .LVU1131 4407 00d4 2046 mov r0, r4 @, _9 4408 00d6 3B46 mov r3, r7 @, timeout 4409 00d8 0096 str r6, [sp] @ _162, 4410 00da 4FF00111 mov r1, #65537 @, 4411 00de FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4412 .LVL207: 4413 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6815: if 6814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR1, I2C_CR1_START) == I2C_CR1_START) 4414 .loc 10 6815 9 view .LVU1132 4415 00e2 55F80A30 ldr r3, [r5, r10] @ pretmp_343, MEM [(struct I2C_HandleTypeDef *)&_i2 4416 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6813: if ( 6813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4417 .loc 10 6813 6 discriminator 1 view .LVU1133 4418 00e6 78B1 cbz r0, .L390 @ tmp894, 4419 .loc 10 6815 5 is_stmt 1 view .LVU1134 4420 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6815: if 4421 .loc 10 6815 9 is_stmt 0 view .LVU1135 4422 00e8 1B68 ldr r3, [r3] @ _170, pretmp_343->CR1 4423 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6815: if 4424 .loc 10 6815 8 view .LVU1136 4425 00ea DC05 lsls r4, r3, #23 @, _170, 4426 .LVL208: 6816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_WRONG_START; 4427 .loc 10 6817 7 is_stmt 1 view .LVU1137 4428 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6817: 4429 .loc 10 6817 23 is_stmt 0 view .LVU1138 4430 00ec 44BF itt mi 4431 00ee 4FF40073 movmi r3, #512 @ tmp400, 4432 00f2 C8F84030 strmi r3, [r8, #64] @ tmp400, MEM [(struct I2C_HandleTypeDef *)&_i2c_ 4433 .LVL209: 4434 .L387: 4435 .loc 10 6817 23 view .LVU1139 4436 .LBE340: ARM GAS /tmp/ccJhhmLc.s page 338 4437 .LBE339: 4438 .LBE351: 4439 .LBE357: 4440 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:603: return -1; 603:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 4441 .loc 3 603 13 view .LVU1140 4442 00f6 4FF0FF34 mov r4, #-1 @ , 4443 .LVL210: 4444 .L391: 4445 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:607: } 604:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 605:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 606:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4446 .loc 3 607 1 view .LVU1141 4447 00fa 0AA8 add r0, sp, #40 @,, 4448 00fc FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 4449 .LVL211: 4450 .L384: 4451 .loc 3 607 1 view .LVU1142 4452 0100 2046 mov r0, r4 @, 4453 0102 0DB0 add sp, sp, #52 @,, 4454 .LCFI27: 4455 .cfi_remember_state 4456 .cfi_def_cfa_offset 36 4457 @ sp needed @ 4458 0104 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 4459 .LVL212: 4460 .L390: 4461 .LCFI28: 4462 .cfi_restore_state 4463 .LBB358: 4464 .LBB352: 4465 .LBB344: 4466 .LBB343: 6818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_TIMEOUT; 6820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 6823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_WRITE(DevAddress); 4467 .loc 10 6823 3 is_stmt 1 view .LVU1143 4468 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6823: hi2c 4469 .loc 10 6823 24 is_stmt 0 view .LVU1144 4470 0108 4FEA4B0B lsl fp, fp, #1 @ tmp402, addr, 4471 .LVL213: 4472 .loc 10 6823 24 view .LVU1145 4473 010c 5FFA8BFB uxtb fp, fp @ _172, tmp402 4474 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6823: hi2c 4475 .loc 10 6823 22 view .LVU1146 4476 0110 C3F810B0 str fp, [r3, #16] @ _172, pretmp_343->DR 6824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 6826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK) 4477 .loc 10 6826 3 is_stmt 1 view .LVU1147 4478 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6826: if ( 4479 .loc 10 6826 7 is_stmt 0 view .LVU1148 ARM GAS /tmp/ccJhhmLc.s page 339 4480 0114 6B49 ldr r1, .L430+16 @, 4481 0116 3346 mov r3, r6 @, _162 4482 0118 3A46 mov r2, r7 @, timeout 4483 011a 2046 mov r0, r4 @, _9 4484 011c FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 4485 .LVL214: 4486 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6826: if ( 4487 .loc 10 6826 6 discriminator 1 view .LVU1149 4488 0120 0028 cmp r0, #0 @ tmp404 4489 0122 E8D1 bne .L387 @ 6827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Clear ADDR flag */ 6832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** __HAL_I2C_CLEAR_ADDRFLAG(hi2c); 4490 .loc 10 6832 3 is_stmt 1 view .LVU1150 4491 .LBB341: 4492 .loc 10 6832 3 view .LVU1151 4493 0124 55F80A30 ldr r3, [r5, r10] @ _177, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4494 0128 0990 str r0, [sp, #36] @ tmp404, tmpreg 4495 .loc 10 6832 3 view .LVU1152 4496 012a 5A69 ldr r2, [r3, #20] @ _178, _177->SR1 4497 012c 0992 str r2, [sp, #36] @ _178, tmpreg 4498 .loc 10 6832 3 view .LVU1153 4499 012e 9B69 ldr r3, [r3, #24] @ _179, _177->SR2 4500 0130 0993 str r3, [sp, #36] @ _179, tmpreg 4501 .loc 10 6832 3 view .LVU1154 4502 .LBE341: 4503 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6835: if ( 6833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until TXE flag is set */ 6835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 4504 .loc 10 6835 7 is_stmt 0 view .LVU1155 4505 0132 3246 mov r2, r6 @, _162 4506 0134 3946 mov r1, r7 @, timeout 4507 0136 2046 mov r0, r4 @, _9 4508 .LBB342: 4509 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6832: __HA 6832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4510 .loc 10 6832 3 view .LVU1156 4511 0138 099B ldr r3, [sp, #36] @ _180, tmpreg 4512 .LBE342: 6832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4513 .loc 10 6832 3 is_stmt 1 view .LVU1157 4514 .loc 10 6835 3 view .LVU1158 4515 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6835: if ( 4516 .loc 10 6835 7 is_stmt 0 view .LVU1159 4517 013a FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 4518 .LVL215: 4519 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6835: if ( 4520 .loc 10 6835 6 discriminator 1 view .LVU1160 4521 013e 50B1 cbz r0, .L392 @ tmp896, 4522 .L427: 6836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 6838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 340 6839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 6840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 6841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 6846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 6847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send Memory Address */ 6849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress); 6850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 6852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** else 6853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send MSB of Memory Address */ 6855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_MSB(MemAddress); 6856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until TXE flag is set */ 6858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 6859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 4523 .loc 10 6860 7 is_stmt 1 view .LVU1161 4524 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6860: 4525 .loc 10 6860 15 is_stmt 0 view .LVU1162 4526 0140 D8F84030 ldr r3, [r8, #64] @ _193, 4527 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6860: 4528 .loc 10 6860 10 view .LVU1163 4529 0144 042B cmp r3, #4 @ _193, 4530 0146 D6D1 bne .L387 @, 6861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 6863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 4531 .loc 10 6863 9 is_stmt 1 view .LVU1164 4532 0148 55F80A20 ldr r2, [r5, r10] @ _194, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4533 .L421: 4534 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6878: 6864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send LSB of Memory Address */ 6869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_MEM_ADD_LSB(MemAddress); 6870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until TXE flag is set */ 6873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnTXEFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 6874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF) 6876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Stop */ 6878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_STOP); 4535 .loc 10 6878 7 is_stmt 0 view .LVU1165 4536 014c 1368 ldr r3, [r2] @ _203,* _202 4537 014e 43F40073 orr r3, r3, #512 @ _204, _203, 4538 0152 1360 str r3, [r2] @ _204,* _202 4539 .LVL216: ARM GAS /tmp/ccJhhmLc.s page 341 4540 .loc 10 6878 7 view .LVU1166 4541 0154 CFE7 b .L387 @ 4542 .LVL217: 4543 .L392: 6846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4544 .loc 10 6846 3 is_stmt 1 view .LVU1167 4545 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6846: if ( 6846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4546 .loc 10 6846 6 is_stmt 0 view .LVU1168 4547 0156 039A ldr r2, [sp, #12] @ reg_size, %sfp 4548 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6840: 6840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4549 .loc 10 6840 7 view .LVU1169 4550 0158 55F80A30 ldr r3, [r5, r10] @ pretmp_337, MEM [(struct I2C_HandleTypeDef *)&_i2 4551 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6846: if ( 6846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4552 .loc 10 6846 6 view .LVU1170 4553 015c 012A cmp r2, #1 @ reg_size, 4554 015e 15D1 bne .L393 @, 6849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4555 .loc 10 6849 5 is_stmt 1 view .LVU1171 4556 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6849: hi 6849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4557 .loc 10 6849 26 is_stmt 0 view .LVU1172 4558 0160 9DF80820 ldrb r2, [sp, #8] @ zero_extendqisi2 @ _188, %sfp 4559 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6849: hi 6849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4560 .loc 10 6849 24 view .LVU1173 4561 0164 1A61 str r2, [r3, #16] @ _188, pretmp_337->DR 4562 .L394: 6873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4563 .loc 10 6873 3 is_stmt 1 view .LVU1174 4564 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6873: if ( 6873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4565 .loc 10 6873 7 is_stmt 0 view .LVU1175 4566 0166 3246 mov r2, r6 @, _162 4567 0168 3946 mov r1, r7 @, timeout 4568 016a 2046 mov r0, r4 @, _9 4569 016c FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 4570 .LVL218: 4571 0170 4FF0A808 mov r8, #168 @ tmp887, 4572 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6873: if ( 6873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4573 .loc 10 6873 6 discriminator 1 view .LVU1176 4574 0174 0246 mov r2, r0 @ tmp439, tmp898 4575 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6875: if 6875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4576 .loc 10 6875 13 view .LVU1177 4577 0176 08FB09F8 mul r8, r8, r9 @ tmp441, tmp887, bus 4578 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6873: if ( 6873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4579 .loc 10 6873 6 discriminator 1 view .LVU1178 4580 017a B8B1 cbz r0, .L396 @ tmp439, 6875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4581 .loc 10 6875 5 is_stmt 1 view .LVU1179 4582 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6875: if 6875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 342 4583 .loc 10 6875 13 is_stmt 0 view .LVU1180 4584 017c 05EB0803 add r3, r5, r8 @ tmp443, tmp340, tmp441 4585 0180 1B6C ldr r3, [r3, #64] @ _201, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4586 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6875: if 6875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4587 .loc 10 6875 8 view .LVU1181 4588 0182 042B cmp r3, #4 @ _201, 4589 0184 B7D1 bne .L387 @, 4590 .loc 10 6878 7 is_stmt 1 view .LVU1182 4591 0186 55F80820 ldr r2, [r5, r8] @ _202, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 4592 018a DFE7 b .L421 @ 4593 .L393: 6855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4594 .loc 10 6855 5 view .LVU1183 4595 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6855: hi 6855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4596 .loc 10 6855 26 is_stmt 0 view .LVU1184 4597 018c 029A ldr r2, [sp, #8] @ reg, %sfp 4598 018e 120A lsrs r2, r2, #8 @ _191, reg, 4599 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6855: hi 6855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4600 .loc 10 6855 24 view .LVU1185 4601 0190 1A61 str r2, [r3, #16] @ _191, pretmp_337->DR 6858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4602 .loc 10 6858 5 is_stmt 1 view .LVU1186 4603 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6858: if 6858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4604 .loc 10 6858 9 is_stmt 0 view .LVU1187 4605 0192 3946 mov r1, r7 @, timeout 4606 0194 3246 mov r2, r6 @, _162 4607 0196 2046 mov r0, r4 @, _9 4608 0198 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 4609 .LVL219: 4610 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6858: if 6858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4611 .loc 10 6858 8 discriminator 1 view .LVU1188 4612 019c 0028 cmp r0, #0 @ tmp897 4613 019e CFD1 bne .L427 @ 6869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4614 .loc 10 6869 5 is_stmt 1 view .LVU1189 4615 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6869: hi 6869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4616 .loc 10 6869 9 is_stmt 0 view .LVU1190 4617 01a0 55F80A20 ldr r2, [r5, r10] @ _198, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4618 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6869: hi 6869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4619 .loc 10 6869 26 view .LVU1191 4620 01a4 9DF80830 ldrb r3, [sp, #8] @ zero_extendqisi2 @ _199, %sfp 4621 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6869: hi 6869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4622 .loc 10 6869 24 view .LVU1192 4623 01a8 1361 str r3, [r2, #16] @ _199, _198->DR 4624 01aa DCE7 b .L394 @ 4625 .L396: 6879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_ERROR; 6881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 343 6882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Generate Restart */ 6884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** SET_BIT(hi2c->Instance->CR1, I2C_CR1_START); 4626 .loc 10 6884 3 is_stmt 1 view .LVU1193 4627 01ac 55F80810 ldr r1, [r5, r8] @ _205, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 4628 01b0 0B68 ldr r3, [r1] @ _206, _205->CR1 4629 01b2 43F48073 orr r3, r3, #256 @ _207, _206, 4630 01b6 0B60 str r3, [r1] @ _207, _205->CR1 6885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until SB flag is set */ 6887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_SB, RESET, Timeout, Tickstart) != HAL_OK) 4631 .loc 10 6887 3 view .LVU1194 4632 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6887: if ( 4633 .loc 10 6887 7 is_stmt 0 view .LVU1195 4634 01b8 2046 mov r0, r4 @, _9 4635 01ba 0096 str r6, [sp] @ _162, 4636 01bc 3B46 mov r3, r7 @, timeout 4637 01be 4FF00111 mov r1, #65537 @, 4638 01c2 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4639 .LVL220: 4640 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6884: SET_ 6884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4641 .loc 10 6884 3 view .LVU1196 4642 01c6 05EB080A add r10, r5, r8 @ tmp452, tmp340, tmp450 4643 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6889: if 6888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (READ_BIT(hi2c->Instance->CR1, I2C_CR1_START) == I2C_CR1_START) 4644 .loc 10 6889 9 view .LVU1197 4645 01ca 55F80820 ldr r2, [r5, r8] @ pretmp_335, MEM [(struct I2C_HandleTypeDef *)&_i2c 4646 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6887: if ( 6887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4647 .loc 10 6887 6 discriminator 1 view .LVU1198 4648 01ce 38B1 cbz r0, .L397 @ tmp899, 4649 .loc 10 6889 5 is_stmt 1 view .LVU1199 4650 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6889: if 4651 .loc 10 6889 9 is_stmt 0 view .LVU1200 4652 01d0 1368 ldr r3, [r2] @ _210, pretmp_335->CR1 4653 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6889: if 4654 .loc 10 6889 8 view .LVU1201 4655 01d2 D805 lsls r0, r3, #23 @, _210, 4656 01d4 8FD5 bpl .L387 @, 6890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_WRONG_START; 4657 .loc 10 6891 7 is_stmt 1 view .LVU1202 4658 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6891: 4659 .loc 10 6891 23 is_stmt 0 view .LVU1203 4660 01d6 4FF40073 mov r3, #512 @ tmp464, 4661 01da CAF84030 str r3, [r10, #64] @ tmp464, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 4662 .LVL221: 4663 .loc 10 6891 23 view .LVU1204 4664 01de 8AE7 b .L387 @ 4665 .LVL222: 4666 .L397: 6892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** return HAL_TIMEOUT; 6894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 344 6896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Send slave address */ 6897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->DR = I2C_7BIT_ADD_READ(DevAddress); 4667 .loc 10 6897 3 is_stmt 1 view .LVU1205 4668 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6897: hi2c 4669 .loc 10 6897 24 is_stmt 0 view .LVU1206 4670 01e0 4BF00103 orr r3, fp, #1 @ _214, _172, 4671 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6897: hi2c 4672 .loc 10 6897 22 view .LVU1207 4673 01e4 1361 str r3, [r2, #16] @ _214, pretmp_335->DR 6898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 6900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** if (I2C_WaitOnMasterAddressFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, Timeout, Tickstart) != HAL_OK) 4674 .loc 10 6900 3 is_stmt 1 view .LVU1208 4675 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6900: if ( 4676 .loc 10 6900 7 is_stmt 0 view .LVU1209 4677 01e6 3749 ldr r1, .L430+16 @, 4678 01e8 3346 mov r3, r6 @, _162 4679 01ea 3A46 mov r2, r7 @, timeout 4680 01ec 2046 mov r0, r4 @, _9 4681 01ee FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 4682 .LVL223: 4683 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6900: if ( 4684 .loc 10 6900 6 discriminator 1 view .LVU1210 4685 01f2 0028 cmp r0, #0 @ tmp467 4686 01f4 7FF47FAF bne .L387 @ 4687 .LVL224: 4688 .loc 10 6900 6 discriminator 1 view .LVU1211 4689 .LBE343: 4690 .LBE344: 2652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4691 .loc 10 2652 5 is_stmt 1 view .LVU1212 4692 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2652: if 2652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4693 .loc 10 2652 13 is_stmt 0 view .LVU1213 4694 01f8 BAF82820 ldrh r2, [r10, #40] @ _42, MEM [(struct I2C_HandleTypeDef *)&_i2c_dev 4695 .LBB345: 4696 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2655: 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4697 .loc 10 2655 7 view .LVU1214 4698 01fc 55F80830 ldr r3, [r5, r8] @ pretmp_339, MEM [(struct I2C_HandleTypeDef *)&_i2c 4699 .LBE345: 4700 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2652: if 2652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4701 .loc 10 2652 8 view .LVU1215 4702 0200 C2B9 cbnz r2, .L398 @ _42, 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4703 .loc 10 2655 7 is_stmt 1 view .LVU1216 4704 .LBB346: 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4705 .loc 10 2655 7 view .LVU1217 4706 0202 0892 str r2, [sp, #32] @ _42, tmpreg 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4707 .loc 10 2655 7 view .LVU1218 4708 0204 5A69 ldr r2, [r3, #20] @ _44, pretmp_339->SR1 4709 0206 0892 str r2, [sp, #32] @ _44, tmpreg 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4710 .loc 10 2655 7 view .LVU1219 ARM GAS /tmp/ccJhhmLc.s page 345 4711 0208 9A69 ldr r2, [r3, #24] @ _45, pretmp_339->SR2 4712 020a 0892 str r2, [sp, #32] @ _45, tmpreg 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4713 .loc 10 2655 7 view .LVU1220 4714 020c 089A ldr r2, [sp, #32] @ _46, tmpreg 4715 .L423: 4716 .LBE346: 2655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4717 .loc 10 2655 7 view .LVU1221 2658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4718 .loc 10 2658 7 view .LVU1222 4719 020e 1A68 ldr r2, [r3] @ _47,* pretmp_339 4720 0210 42F40072 orr r2, r2, #512 @ _48, _47, 4721 0214 1A60 str r2, [r3] @ _48,* pretmp_339 4722 .LVL225: 4723 .L401: 4724 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2688: wh 2688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4725 .loc 10 2688 16 is_stmt 0 view .LVU1223 4726 0216 A823 movs r3, #168 @ tmp860, 4727 0218 03FB0955 mla r5, r3, r9, r5 @ tmp861, tmp860, bus, tmp340 4728 .LVL226: 4729 .L399: 2688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4730 .loc 10 2688 27 is_stmt 1 view .LVU1224 4731 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2688: wh 2688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4732 .loc 10 2688 16 is_stmt 0 view .LVU1225 4733 021c 288D ldrh r0, [r5, #40] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4734 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2688: wh 2688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4735 .loc 10 2688 27 view .LVU1226 4736 021e 0028 cmp r0, #0 @ _69 4737 0220 2DD1 bne .L407 @ 2828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4738 .loc 10 2828 5 is_stmt 1 view .LVU1227 4739 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2828: hi 2828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4740 .loc 10 2828 17 is_stmt 0 view .LVU1228 4741 0222 2023 movs r3, #32 @ tmp868, 4742 0224 85F83D30 strb r3, [r5, #61] @ tmp868, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4743 .loc 10 2829 5 is_stmt 1 view .LVU1229 4744 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2832: __ 2832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4745 .loc 10 2832 5 is_stmt 0 view .LVU1230 4746 0228 85F83C00 strb r0, [r5, #60] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4747 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2829: hi 2829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4748 .loc 10 2829 16 view .LVU1231 4749 022c 85F83E00 strb r0, [r5, #62] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4750 .loc 10 2832 5 is_stmt 1 view .LVU1232 2832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4751 .loc 10 2832 5 view .LVU1233 2832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4752 .loc 10 2832 5 view .LVU1234 ARM GAS /tmp/ccJhhmLc.s page 346 2834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4753 .loc 10 2834 5 view .LVU1235 4754 .LVL227: 2834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4755 .loc 10 2834 5 is_stmt 0 view .LVU1236 4756 .LBE352: 4757 .LBE358: 4758 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:606: return 0; 606:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4759 .loc 3 606 10 view .LVU1237 4760 0230 0446 mov r4, r0 @ , _69 4761 .LVL228: 606:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 4762 .loc 3 606 10 view .LVU1238 4763 0232 62E7 b .L391 @ 4764 .LVL229: 4765 .L398: 4766 .LBB359: 4767 .LBB353: 2660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4768 .loc 10 2660 10 is_stmt 1 view .LVU1239 4769 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2660: el 2660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4770 .loc 10 2660 13 is_stmt 0 view .LVU1240 4771 0234 012A cmp r2, #1 @ _42, 4772 0236 0AD1 bne .L400 @, 2663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4773 .loc 10 2663 7 is_stmt 1 view .LVU1241 4774 0238 1A68 ldr r2, [r3] @ _50, pretmp_339->CR1 4775 023a 22F48062 bic r2, r2, #1024 @ _51, _50, 4776 023e 1A60 str r2, [r3] @ _51, pretmp_339->CR1 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4777 .loc 10 2666 7 view .LVU1242 4778 .LBB347: 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4779 .loc 10 2666 7 view .LVU1243 4780 0240 0790 str r0, [sp, #28] @ tmp467, tmpreg 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4781 .loc 10 2666 7 view .LVU1244 4782 0242 5A69 ldr r2, [r3, #20] @ _52, pretmp_339->SR1 4783 0244 0792 str r2, [sp, #28] @ _52, tmpreg 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4784 .loc 10 2666 7 view .LVU1245 4785 0246 9A69 ldr r2, [r3, #24] @ _53, pretmp_339->SR2 4786 0248 0792 str r2, [sp, #28] @ _53, tmpreg 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4787 .loc 10 2666 7 view .LVU1246 4788 024a 079A ldr r2, [sp, #28] @ _54, tmpreg 4789 .LBE347: 2666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4790 .loc 10 2666 7 view .LVU1247 2669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4791 .loc 10 2669 7 view .LVU1248 4792 024c DFE7 b .L423 @ 4793 .L400: 2671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4794 .loc 10 2671 10 view .LVU1249 ARM GAS /tmp/ccJhhmLc.s page 347 4795 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2671: el 2671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4796 .loc 10 2671 13 is_stmt 0 view .LVU1250 4797 024e 022A cmp r2, #2 @ _42, 4798 0250 0ED1 bne .L402 @, 2674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4799 .loc 10 2674 7 is_stmt 1 view .LVU1251 4800 0252 1A68 ldr r2, [r3] @ _58, pretmp_339->CR1 4801 0254 22F48062 bic r2, r2, #1024 @ _59, _58, 4802 0258 1A60 str r2, [r3] @ _59, pretmp_339->CR1 2677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4803 .loc 10 2677 7 view .LVU1252 4804 025a 1A68 ldr r2, [r3] @ _60, pretmp_339->CR1 4805 025c 42F40062 orr r2, r2, #2048 @ _61, _60, 4806 0260 1A60 str r2, [r3] @ _61, pretmp_339->CR1 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4807 .loc 10 2680 7 view .LVU1253 4808 .LBB348: 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4809 .loc 10 2680 7 view .LVU1254 4810 0262 0690 str r0, [sp, #24] @ tmp467, tmpreg 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4811 .loc 10 2680 7 view .LVU1255 4812 0264 5A69 ldr r2, [r3, #20] @ _62, pretmp_339->SR1 4813 0266 0692 str r2, [sp, #24] @ _62, tmpreg 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4814 .loc 10 2680 7 view .LVU1256 4815 0268 9B69 ldr r3, [r3, #24] @ _63, pretmp_339->SR2 4816 026a 0693 str r3, [sp, #24] @ _63, tmpreg 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4817 .loc 10 2680 7 view .LVU1257 4818 026c 069B ldr r3, [sp, #24] @ _64, tmpreg 4819 .LBE348: 2680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4820 .loc 10 2680 7 view .LVU1258 4821 026e D2E7 b .L401 @ 4822 .L402: 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4823 .loc 10 2685 7 view .LVU1259 4824 .LBB349: 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4825 .loc 10 2685 7 view .LVU1260 4826 0270 0590 str r0, [sp, #20] @ tmp467, tmpreg 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4827 .loc 10 2685 7 view .LVU1261 4828 0272 5A69 ldr r2, [r3, #20] @ _66, pretmp_339->SR1 4829 0274 0592 str r2, [sp, #20] @ _66, tmpreg 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4830 .loc 10 2685 7 view .LVU1262 4831 0276 9B69 ldr r3, [r3, #24] @ _67, pretmp_339->SR2 4832 0278 0593 str r3, [sp, #20] @ _67, tmpreg 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4833 .loc 10 2685 7 view .LVU1263 4834 027a 059B ldr r3, [sp, #20] @ _68, tmpreg 4835 027c CBE7 b .L401 @ 4836 .LVL230: 4837 .L407: ARM GAS /tmp/ccJhhmLc.s page 348 2685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4838 .loc 10 2685 7 is_stmt 0 view .LVU1264 4839 .LBE349: 2690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4840 .loc 10 2690 7 is_stmt 1 view .LVU1265 4841 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2690: 2690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4842 .loc 10 2690 10 is_stmt 0 view .LVU1266 4843 027e 0328 cmp r0, #3 @ _69, 4844 0280 62D8 bhi .L403 @, 2693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4845 .loc 10 2693 9 is_stmt 1 view .LVU1267 4846 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2693: 2693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4847 .loc 10 2693 12 is_stmt 0 view .LVU1268 4848 0282 0128 cmp r0, #1 @ _69, 4849 0284 20D1 bne .L404 @, 2696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4850 .loc 10 2696 11 is_stmt 1 view .LVU1269 4851 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2696: 2696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4852 .loc 10 2696 15 is_stmt 0 view .LVU1270 4853 0286 3246 mov r2, r6 @, _162 4854 0288 3946 mov r1, r7 @, timeout 4855 028a 2046 mov r0, r4 @, _9 4856 028c FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 @ 4857 .LVL231: 4858 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2696: 2696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4859 .loc 10 2696 14 discriminator 1 view .LVU1271 4860 0290 0028 cmp r0, #0 @ tmp901 4861 0292 7FF430AF bne .L387 @ 2702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4862 .loc 10 2702 11 is_stmt 1 view .LVU1272 4863 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2702: 2702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4864 .loc 10 2702 42 is_stmt 0 view .LVU1273 4865 0296 2B68 ldr r3, [r5] @ _71, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 4866 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2702: 2702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4867 .loc 10 2702 52 view .LVU1274 4868 0298 1A69 ldr r2, [r3, #16] @ _72, _71->DR 4869 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2702: 2702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4870 .loc 10 2702 16 view .LVU1275 4871 029a 6B6A ldr r3, [r5, #36] @ _73, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 4872 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2702: 2702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4873 .loc 10 2702 29 view .LVU1276 4874 029c 1A70 strb r2, [r3] @ _72, *_73 2705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4875 .loc 10 2705 11 is_stmt 1 view .LVU1277 4876 .L424: 2819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4877 .loc 10 2819 11 view .LVU1278 4878 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2819: 2819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 349 4879 .loc 10 2819 25 is_stmt 0 view .LVU1279 4880 029e 6B6A ldr r3, [r5, #36] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 4881 02a0 0133 adds r3, r3, #1 @ _155, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 4882 02a2 6B62 str r3, [r5, #36] @ _155, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 4883 .loc 10 2822 11 is_stmt 1 view .LVU1280 4884 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2822: 2822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 4885 .loc 10 2822 25 is_stmt 0 view .LVU1281 4886 02a4 2B8D ldrh r3, [r5, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4887 02a6 013B subs r3, r3, #1 @ tmp843, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4888 02a8 2B85 strh r3, [r5, #40] @ movhi @ tmp843, MEM [(struct I2C_HandleTypeDef * 2823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4889 .loc 10 2823 11 is_stmt 1 view .LVU1282 4890 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2823: 2823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4891 .loc 10 2823 15 is_stmt 0 view .LVU1283 4892 02aa 6B8D ldrh r3, [r5, #42] @, 4893 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2823: 2823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 4894 .loc 10 2823 26 view .LVU1284 4895 02ac 013B subs r3, r3, #1 @ tmp851, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4896 02ae 9BB2 uxth r3, r3 @ _159, tmp851 4897 02b0 6B85 strh r3, [r5, #42] @ movhi @ _159, 4898 02b2 B3E7 b .L399 @ 4899 .L431: 4900 .align 2 4901 .L430: 4902 02b4 00000000 .word _ZL9_ms_ticks.lto_priv.0 4903 02b8 02001000 .word 1048578 4904 02bc 00000000 .word _ZL9_i2c_devs 4905 02c0 0000FFFF .word -65536 4906 02c4 02000100 .word 65538 4907 .L404: 2712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4908 .loc 10 2712 14 is_stmt 1 view .LVU1285 4909 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2712: 2712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4910 .loc 10 2712 17 is_stmt 0 view .LVU1286 4911 02c8 0228 cmp r0, #2 @ _69, 4912 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2715: 2715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4913 .loc 10 2715 15 view .LVU1287 4914 02ca 2F49 ldr r1, .L432 @, 4915 02cc 0096 str r6, [sp] @ _162, 4916 02ce 3B46 mov r3, r7 @, timeout 4917 02d0 4FF00002 mov r2, #0 @, 4918 02d4 2046 mov r0, r4 @, _9 4919 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2712: 2712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4920 .loc 10 2712 17 view .LVU1288 4921 02d6 1AD1 bne .L406 @, 4922 .LVL232: 4923 .L429: 4924 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2766: 2766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4925 .loc 10 2766 15 view .LVU1289 ARM GAS /tmp/ccJhhmLc.s page 350 4926 02d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4927 .LVL233: 4928 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2766: 2766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4929 .loc 10 2766 14 discriminator 1 view .LVU1290 4930 02dc 0028 cmp r0, #0 @ tmp904 4931 02de 7FF40AAF bne .L387 @ 2772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4932 .loc 10 2772 11 is_stmt 1 view .LVU1291 4933 02e2 2B68 ldr r3, [r5] @ _117, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4934 02e4 1A68 ldr r2, [r3] @ _118,* _117 4935 02e6 42F40072 orr r2, r2, #512 @ _119, _118, 4936 02ea 1A60 str r2, [r3] @ _119,* _117 2775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4937 .loc 10 2775 11 view .LVU1292 4938 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2775: 2775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4939 .loc 10 2775 52 is_stmt 0 view .LVU1293 4940 02ec 1A69 ldr r2, [r3, #16] @ _120, 4941 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2775: 2775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4942 .loc 10 2775 16 view .LVU1294 4943 02ee 6B6A ldr r3, [r5, #36] @ _121, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4944 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2775: 2775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4945 .loc 10 2775 29 view .LVU1295 4946 02f0 1A70 strb r2, [r3] @ _120,* _121 2778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4947 .loc 10 2778 11 is_stmt 1 view .LVU1296 4948 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2778: 2778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4949 .loc 10 2778 15 is_stmt 0 view .LVU1297 4950 02f2 6A6A ldr r2, [r5, #36] @ _123, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4951 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2778: 2778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4952 .loc 10 2778 25 view .LVU1298 4953 02f4 531C adds r3, r2, #1 @ _124, _123, 4954 02f6 6B62 str r3, [r5, #36] @ _124, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 4955 .loc 10 2781 11 is_stmt 1 view .LVU1299 4956 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2781: 2781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 4957 .loc 10 2781 25 is_stmt 0 view .LVU1300 4958 02f8 2B8D ldrh r3, [r5, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 4959 02fa 013B subs r3, r3, #1 @ tmp708, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4960 02fc 2B85 strh r3, [r5, #40] @ movhi @ tmp708, MEM [(struct I2C_HandleTypeDef * 2782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4961 .loc 10 2782 11 is_stmt 1 view .LVU1301 4962 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2782: 2782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4963 .loc 10 2782 15 is_stmt 0 view .LVU1302 4964 02fe 6B8D ldrh r3, [r5, #42] @, 4965 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2782: 2782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4966 .loc 10 2782 26 view .LVU1303 4967 0300 013B subs r3, r3, #1 @ tmp716, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 4968 0302 9BB2 uxth r3, r3 @ _128, tmp716 ARM GAS /tmp/ccJhhmLc.s page 351 4969 0304 6B85 strh r3, [r5, #42] @ movhi @ _128, 2785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4970 .loc 10 2785 11 is_stmt 1 view .LVU1304 4971 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2785: 2785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4972 .loc 10 2785 42 is_stmt 0 view .LVU1305 4973 0306 2B68 ldr r3, [r5] @ _129, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4974 .L425: 2816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4975 .loc 10 2816 11 is_stmt 1 view .LVU1306 4976 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2816: 2816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4977 .loc 10 2816 52 is_stmt 0 view .LVU1307 4978 0308 1B69 ldr r3, [r3, #16] @ _152, 4979 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2816: 2816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4980 .loc 10 2816 29 view .LVU1308 4981 030a 5370 strb r3, [r2, #1] @ _152, 4982 030c C7E7 b .L424 @ 4983 .LVL234: 4984 .L406: 2747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4985 .loc 10 2747 11 is_stmt 1 view .LVU1309 4986 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2747: 2747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4987 .loc 10 2747 15 is_stmt 0 view .LVU1310 4988 030e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 4989 .LVL235: 4990 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2747: 2747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 4991 .loc 10 2747 14 discriminator 1 view .LVU1311 4992 0312 0246 mov r2, r0 @ tmp625, tmp903 4993 0314 0028 cmp r0, #0 @ tmp625 4994 0316 7FF4EEAE bne .L387 @ 2753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 4995 .loc 10 2753 11 is_stmt 1 view .LVU1312 4996 031a 2B68 ldr r3, [r5] @ _104, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 4997 031c 1968 ldr r1, [r3] @ _105, _104->CR1 4998 031e 21F48061 bic r1, r1, #1024 @ _106, _105, 4999 0322 1960 str r1, [r3] @ _106, _104->CR1 2756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5000 .loc 10 2756 11 view .LVU1313 5001 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2756: 2756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5002 .loc 10 2756 52 is_stmt 0 view .LVU1314 5003 0324 1969 ldr r1, [r3, #16] @ _107, _104->DR 5004 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2756: 2756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5005 .loc 10 2756 16 view .LVU1315 5006 0326 6B6A ldr r3, [r5, #36] @ _108, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5007 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2756: 2756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5008 .loc 10 2756 29 view .LVU1316 5009 0328 1970 strb r1, [r3] @ _107, *_108 2759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5010 .loc 10 2759 11 is_stmt 1 view .LVU1317 5011 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2759: ARM GAS /tmp/ccJhhmLc.s page 352 2759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5012 .loc 10 2759 25 is_stmt 0 view .LVU1318 5013 032a 6B6A ldr r3, [r5, #36] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 5014 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2766: 2766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5015 .loc 10 2766 15 view .LVU1319 5016 032c 1649 ldr r1, .L432 @, 5017 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2759: 2759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5018 .loc 10 2759 25 view .LVU1320 5019 032e 0133 adds r3, r3, #1 @ _111, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5020 0330 6B62 str r3, [r5, #36] @ _111, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5021 .loc 10 2762 11 is_stmt 1 view .LVU1321 5022 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2762: 2762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5023 .loc 10 2762 25 is_stmt 0 view .LVU1322 5024 0332 2B8D ldrh r3, [r5, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5025 0334 013B subs r3, r3, #1 @ tmp659, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5026 0336 2B85 strh r3, [r5, #40] @ movhi @ tmp659, MEM [(struct I2C_HandleTypeDef * 2763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5027 .loc 10 2763 11 is_stmt 1 view .LVU1323 5028 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2763: 2763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5029 .loc 10 2763 15 is_stmt 0 view .LVU1324 5030 0338 6B8D ldrh r3, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5031 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2763: 2763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5032 .loc 10 2763 26 view .LVU1325 5033 033a 013B subs r3, r3, #1 @ tmp667, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5034 033c 9BB2 uxth r3, r3 @ _115, tmp667 5035 033e 6B85 strh r3, [r5, #42] @ movhi @ _115, MEM [(struct I2C_HandleTypeDef *)& 2766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5036 .loc 10 2766 11 is_stmt 1 view .LVU1326 5037 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2766: 2766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5038 .loc 10 2766 15 is_stmt 0 view .LVU1327 5039 0340 2046 mov r0, r4 @, _9 5040 0342 0096 str r6, [sp] @ _162, 5041 0344 3B46 mov r3, r7 @, timeout 5042 0346 C7E7 b .L429 @ 5043 .L403: 2798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5044 .loc 10 2798 9 is_stmt 1 view .LVU1328 5045 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2798: 2798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5046 .loc 10 2798 13 is_stmt 0 view .LVU1329 5047 0348 3246 mov r2, r6 @, _162 5048 034a 3946 mov r1, r7 @, timeout 5049 034c 2046 mov r0, r4 @, _9 5050 034e FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 @ 5051 .LVL236: 5052 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2798: 2798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5053 .loc 10 2798 12 discriminator 1 view .LVU1330 5054 0352 0028 cmp r0, #0 @ tmp905 5055 0354 7FF4CFAE bne .L387 @ ARM GAS /tmp/ccJhhmLc.s page 353 2804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5056 .loc 10 2804 9 is_stmt 1 view .LVU1331 5057 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2804: 2804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5058 .loc 10 2804 40 is_stmt 0 view .LVU1332 5059 0358 2B68 ldr r3, [r5] @ _139, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 5060 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2804: 2804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5061 .loc 10 2804 50 view .LVU1333 5062 035a 1A69 ldr r2, [r3, #16] @ _140, _139->DR 5063 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2804: 2804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5064 .loc 10 2804 14 view .LVU1334 5065 035c 6B6A ldr r3, [r5, #36] @ _141, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5066 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2804: 2804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5067 .loc 10 2804 27 view .LVU1335 5068 035e 1A70 strb r2, [r3] @ _140, *_141 2807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5069 .loc 10 2807 9 is_stmt 1 view .LVU1336 5070 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2807: 2807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5071 .loc 10 2807 13 is_stmt 0 view .LVU1337 5072 0360 6A6A ldr r2, [r5, #36] @ _143, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5073 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2807: 2807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5074 .loc 10 2807 23 view .LVU1338 5075 0362 531C adds r3, r2, #1 @ _144, _143, 5076 0364 6B62 str r3, [r5, #36] @ _144, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 2810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5077 .loc 10 2810 9 is_stmt 1 view .LVU1339 5078 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2810: 2810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5079 .loc 10 2810 23 is_stmt 0 view .LVU1340 5080 0366 2B8D ldrh r3, [r5, #40] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5081 0368 013B subs r3, r3, #1 @ tmp799, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5082 036a 2B85 strh r3, [r5, #40] @ movhi @ tmp799, MEM [(struct I2C_HandleTypeDef * 2811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5083 .loc 10 2811 9 is_stmt 1 view .LVU1341 5084 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2811: 2811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5085 .loc 10 2811 13 is_stmt 0 view .LVU1342 5086 036c 6B8D ldrh r3, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5087 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2811: 2811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5088 .loc 10 2811 24 view .LVU1343 5089 036e 013B subs r3, r3, #1 @ tmp807, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5090 0370 9BB2 uxth r3, r3 @ _148, tmp807 5091 0372 6B85 strh r3, [r5, #42] @ movhi @ _148, MEM [(struct I2C_HandleTypeDef *)& 2813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5092 .loc 10 2813 9 is_stmt 1 view .LVU1344 5093 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2813: 2813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5094 .loc 10 2813 13 is_stmt 0 view .LVU1345 5095 0374 2B68 ldr r3, [r5] @ _149, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 5096 0376 5969 ldr r1, [r3, #20] @ _150, _149->SR1 5097 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2813: ARM GAS /tmp/ccJhhmLc.s page 354 2813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5098 .loc 10 2813 12 view .LVU1346 5099 0378 4907 lsls r1, r1, #29 @, _150, 5100 037a 7FF54FAF bpl .L399 @, 5101 037e C3E7 b .L425 @ 5102 .LVL237: 5103 .L408: 2813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5104 .loc 10 2813 12 view .LVU1347 5105 .LBE353: 5106 .LBE359: 5107 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:599: if (!h) return 599:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 5108 .loc 3 599 19 discriminator 1 view .LVU1348 5109 0380 4FF0FF34 mov r4, #-1 @ , 5110 .LVL238: 599:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 5111 .loc 3 599 19 discriminator 1 view .LVU1349 5112 0384 BCE6 b .L384 @ 5113 .L433: 5114 0386 00BF .align 2 5115 .L432: 5116 0388 04000100 .word 65540 5117 .cfi_endproc 5118 .LFE63: 5119 .size _Z14stm32_i2c_readhtttPhtm, .-_Z14stm32_i2c_readhtttPhtm 5120 .section .text._Z15stm32_i2c_writehtttPhtm,"ax",%progbits 5121 .align 1 5122 .global _Z15stm32_i2c_writehtttPhtm 5123 .syntax unified 5124 .thumb 5125 .thumb_func 5126 .type _Z15stm32_i2c_writehtttPhtm, %function 5127 _Z15stm32_i2c_writehtttPhtm: 5128 .LVL239: 5129 .LFB66: 608:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 609:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int stm32_i2c_write(uint8_t bus, uint16_t addr, uint16_t reg, uint16_t reg_size, 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** uint8_t* data, uint16_t len, uint32_t timeout) 611:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 5130 .loc 3 611 1 is_stmt 1 view -0 5131 .cfi_startproc 5132 @ args = 12, pretend = 0, frame = 24 5133 @ frame_needed = 0, uses_anonymous_args = 0 612:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 5134 .loc 3 612 3 view .LVU1351 5135 .LBB375: 5136 .LBI375: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 5137 .loc 3 54 27 view .LVU1352 5138 .LBB376: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 5139 .loc 3 56 3 view .LVU1353 5140 .LBE376: 5141 .LBE375: 5142 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:611: { 611:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); ARM GAS /tmp/ccJhhmLc.s page 355 5143 .loc 3 611 1 is_stmt 0 view .LVU1354 5144 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 5145 .LCFI29: 5146 .cfi_def_cfa_offset 36 5147 .cfi_offset 4, -36 5148 .cfi_offset 5, -32 5149 .cfi_offset 6, -28 5150 .cfi_offset 7, -24 5151 .cfi_offset 8, -20 5152 .cfi_offset 9, -16 5153 .cfi_offset 10, -12 5154 .cfi_offset 11, -8 5155 .cfi_offset 14, -4 5156 0004 89B0 sub sp, sp, #36 @,, 5157 .LCFI30: 5158 .cfi_def_cfa_offset 72 5159 .LBB379: 5160 .LBB377: 5161 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 5162 .loc 3 56 3 view .LVU1355 5163 0006 0128 cmp r0, #1 @ bus, 5164 .LBE377: 5165 .LBE379: 5166 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:611: { 611:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 5167 .loc 3 611 1 view .LVU1356 5168 0008 DDF850B0 ldr fp, [sp, #80] @ timeout, timeout 5169 000c 0291 str r1, [sp, #8] @ tmp460, %sfp 5170 000e 8246 mov r10, r0 @ bus, tmp459 5171 0010 1646 mov r6, r2 @ reg, tmp461 5172 0012 0393 str r3, [sp, #12] @ tmp462, %sfp 5173 .LBB380: 5174 .LBB378: 5175 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 5176 .loc 3 56 3 view .LVU1357 5177 0014 00F2E080 bhi .L451 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5178 .loc 3 57 3 is_stmt 1 view .LVU1358 5179 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:57: return &_i2c_dev 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5180 .loc 3 57 26 is_stmt 0 view .LVU1359 5181 0018 714D ldr r5, .L472 @ tmp206, 5182 001a 4442 rsbs r4, r0, #0 @ tmp205, bus 5183 001c 04F0A804 and r4, r4, #168 @ _187, tmp205, 5184 0020 04EB0508 add r8, r4, r5 @ _9, _187, tmp206 5185 .LVL240: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5186 .loc 3 57 26 view .LVU1360 5187 .LBE378: 5188 .LBE380: 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 5189 .loc 3 613 3 is_stmt 1 view .LVU1361 614:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 615:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2CMutex(bus); 5190 .loc 3 615 3 view .LVU1362 ARM GAS /tmp/ccJhhmLc.s page 356 5191 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:615: I2CMutex(bus); 5192 .loc 3 615 3 is_stmt 0 discriminator 1 view .LVU1363 5193 0024 4046 mov r0, r8 @, _9 5194 .LVL241: 5195 .loc 3 615 3 discriminator 1 view .LVU1364 5196 0026 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 5197 .LVL242: 5198 .loc 3 615 3 is_stmt 1 discriminator 2 view .LVU1365 5199 .LBB381: 5200 .LBI381: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5201 .loc 7 102 20 view .LVU1366 5202 .LBB382: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5203 .loc 7 102 55 view .LVU1367 5204 .LBE382: 5205 .LBE381: 5206 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:615: I2CMutex(bus); 5207 .loc 3 615 3 is_stmt 0 discriminator 3 view .LVU1368 5208 002a 04F15801 add r1, r4, #88 @ _123, _187, 5209 .LBB385: 5210 .LBB386: 5211 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2492: if ( 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5212 .loc 10 2492 11 view .LVU1369 5213 002e A824 movs r4, #168 @ tmp214, 5214 .LVL243: 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5215 .loc 10 2492 11 view .LVU1370 5216 .LBE386: 5217 .LBE385: 5218 .LBB408: 5219 .LBB383: 5220 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5221 .loc 7 102 75 view .LVU1371 5222 0030 2944 add r1, r1, r5 @, tmp206 5223 .LVL244: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5224 .loc 7 102 75 view .LVU1372 5225 0032 06A8 add r0, sp, #24 @,, 5226 .LBE383: 5227 .LBE408: 5228 .LBB409: 5229 .LBB403: 5230 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2492: if ( 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5231 .loc 10 2492 11 view .LVU1373 5232 0034 04FB0AF4 mul r4, r4, r10 @ tmp213, tmp214, bus 5233 .LBE403: 5234 .LBE409: 5235 .LBB410: 5236 .LBB384: 5237 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5238 .loc 7 102 75 view .LVU1374 5239 0038 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ ARM GAS /tmp/ccJhhmLc.s page 357 5240 .LVL245: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5241 .loc 7 102 75 view .LVU1375 5242 .LBE384: 5243 .LBE410: 616:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (HAL_I2C_Mem_Write(h, addr << 1, reg, reg_size, data, len, timeout) != HAL_OK) { 5244 .loc 3 616 3 is_stmt 1 view .LVU1376 5245 .LBB411: 5246 .LBI385: 2484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5247 .loc 10 2484 19 view .LVU1377 5248 .LBB404: 2487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5249 .loc 10 2487 3 view .LVU1378 5250 .LBB387: 5251 .LBI387: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 5252 .loc 11 25 21 view .LVU1379 5253 .loc 11 27 5 view .LVU1380 5254 .LBB388: 5255 .LBI388: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 5256 .loc 5 54 10 view .LVU1381 5257 .LBB389: 5258 .loc 5 56 3 view .LVU1382 5259 .LBE389: 5260 .LBE388: 5261 .LBE387: 5262 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2492: if ( 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5263 .loc 10 2492 11 is_stmt 0 view .LVU1383 5264 003c 2F19 adds r7, r5, r4 @ tmp215, tmp206, tmp213 5265 .LBB392: 5266 .LBB391: 5267 .LBB390: 5268 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 5269 .loc 5 56 10 view .LVU1384 5270 003e 694B ldr r3, .L472+4 @ tmp211, 5271 0040 D3F80090 ldr r9, [r3] @ _75, _ms_ticks 5272 .LVL246: 5273 .loc 5 56 10 view .LVU1385 5274 .LBE390: 5275 .LBE391: 5276 .LBE392: 2490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5277 .loc 10 2490 3 is_stmt 1 view .LVU1386 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5278 .loc 10 2492 3 view .LVU1387 5279 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2492: if ( 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5280 .loc 10 2492 11 is_stmt 0 view .LVU1388 5281 0044 97F83D30 ldrb r3, [r7, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 5282 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2492: if ( 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5283 .loc 10 2492 6 view .LVU1389 5284 0048 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handl 5285 004a 08D0 beq .L436 @, ARM GAS /tmp/ccJhhmLc.s page 358 5286 .LVL247: 5287 .L441: 2492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5288 .loc 10 2492 6 view .LVU1390 5289 .LBE404: 5290 .LBE411: 5291 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:617: return -1; 617:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return -1; 5292 .loc 3 617 13 view .LVU1391 5293 004c 4FF0FF34 mov r4, #-1 @ , 5294 .L437: 5295 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:621: } 618:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 619:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 620:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 621:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5296 .loc 3 621 1 view .LVU1392 5297 0050 06A8 add r0, sp, #24 @,, 5298 0052 FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 5299 .LVL248: 5300 .L434: 5301 .loc 3 621 1 view .LVU1393 5302 0056 2046 mov r0, r4 @, 5303 0058 09B0 add sp, sp, #36 @,, 5304 .LCFI31: 5305 .cfi_remember_state 5306 .cfi_def_cfa_offset 36 5307 @ sp needed @ 5308 005a BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 5309 .LVL249: 5310 .L436: 5311 .LCFI32: 5312 .cfi_restore_state 5313 .LBB412: 5314 .LBB405: 2495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5315 .loc 10 2495 5 is_stmt 1 view .LVU1394 5316 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2495: if 2495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5317 .loc 10 2495 9 is_stmt 0 view .LVU1395 5318 005e 6249 ldr r1, .L472+8 @, 5319 0060 CDF80090 str r9, [sp] @ _75, 5320 0064 1923 movs r3, #25 @, 5321 0066 0122 movs r2, #1 @, 5322 0068 4046 mov r0, r8 @, _9 5323 006a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 5324 .LVL250: 5325 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2495: if 2495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5326 .loc 10 2495 8 discriminator 1 view .LVU1396 5327 006e 0028 cmp r0, #0 @ tmp463 5328 0070 ECD1 bne .L441 @ 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5329 .loc 10 2501 5 is_stmt 1 view .LVU1397 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5330 .loc 10 2501 5 view .LVU1398 5331 0072 97F83C30 ldrb r3, [r7, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe ARM GAS /tmp/ccJhhmLc.s page 359 5332 0076 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].handle 5333 0078 E8D0 beq .L441 @, 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5334 .loc 10 2501 5 discriminator 2 view .LVU1399 5335 007a 0123 movs r3, #1 @ tmp232, 5336 007c 87F83C30 strb r3, [r7, #60] @ tmp232, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5337 .loc 10 2501 5 view .LVU1400 2504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5338 .loc 10 2504 5 view .LVU1401 5339 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2504: if 2504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5340 .loc 10 2504 14 is_stmt 0 view .LVU1402 5341 0080 2B59 ldr r3, [r5, r4] @ _33, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5342 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2513: hi 2513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5343 .loc 10 2513 21 view .LVU1403 5344 0082 574C ldr r4, .L472 @ tmp239, 5345 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2504: if 2504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5346 .loc 10 2504 24 view .LVU1404 5347 0084 1A68 ldr r2, [r3] @ _34, _33->CR1 5348 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2518: hi 2518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 5349 .loc 10 2518 23 view .LVU1405 5350 0086 1299 ldr r1, [sp, #72] @ data, data 5351 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2504: if 2504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5352 .loc 10 2504 8 view .LVU1406 5353 0088 D007 lsls r0, r2, #31 @, _34, 2507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5354 .loc 10 2507 7 is_stmt 1 view .LVU1407 5355 008a 5EBF ittt pl 5356 008c 1A68 ldrpl r2, [r3] @ _36, _33->CR1 5357 008e 42F00102 orrpl r2, r2, #1 @ _37, _36, 5358 0092 1A60 strpl r2, [r3] @ _37, _33->CR1 2511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5359 .loc 10 2511 5 view .LVU1408 5360 0094 1A68 ldr r2, [r3] @ _38, _33->CR1 5361 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2513: hi 2513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5362 .loc 10 2513 21 is_stmt 0 view .LVU1409 5363 0096 A827 movs r7, #168 @ tmp241, 5364 0098 07FB0AF7 mul r7, r7, r10 @ tmp240, tmp241, bus 5365 009c E519 adds r5, r4, r7 @ tmp242, tmp239, tmp240 5366 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2511: CL 2511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5367 .loc 10 2511 5 view .LVU1410 5368 009e 22F40062 bic r2, r2, #2048 @ _39, _38, 5369 00a2 1A60 str r2, [r3] @ _39, _33->CR1 2513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5370 .loc 10 2513 5 is_stmt 1 view .LVU1411 5371 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2513: hi 2513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5372 .loc 10 2513 21 is_stmt 0 view .LVU1412 5373 00a4 2122 movs r2, #33 @ tmp244, 5374 00a6 85F83D20 strb r2, [r5, #61] @ tmp244, MEM [(struct I2C_HandleTypeDef *)&_i2c_d ARM GAS /tmp/ccJhhmLc.s page 360 2514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5375 .loc 10 2514 5 is_stmt 1 view .LVU1413 5376 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2514: hi 2514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5377 .loc 10 2514 21 is_stmt 0 view .LVU1414 5378 00aa 4022 movs r2, #64 @ tmp251, 5379 00ac 85F83E20 strb r2, [r5, #62] @ tmp251, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5380 .loc 10 2515 5 is_stmt 1 view .LVU1415 5381 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2518: hi 2518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 5382 .loc 10 2518 23 is_stmt 0 view .LVU1416 5383 00b0 6962 str r1, [r5, #36] @ data, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5384 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2515: hi 2515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5385 .loc 10 2515 21 view .LVU1417 5386 00b2 0022 movs r2, #0 @ tmp258, 5387 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2519: hi 2519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5388 .loc 10 2519 23 view .LVU1418 5389 00b4 BDF84C10 ldrh r1, [sp, #76] @ len, len 5390 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2515: hi 2515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5391 .loc 10 2515 21 view .LVU1419 5392 00b8 2A64 str r2, [r5, #64] @ tmp258, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 2518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount = Size; 5393 .loc 10 2518 5 is_stmt 1 view .LVU1420 2519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5394 .loc 10 2519 5 view .LVU1421 5395 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2519: hi 2519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5396 .loc 10 2519 23 is_stmt 0 view .LVU1422 5397 00ba 6985 strh r1, [r5, #42] @ movhi @ len, MEM [(struct I2C_HandleTypeDef *)&_ 2520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5398 .loc 10 2520 5 is_stmt 1 view .LVU1423 5399 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2520: hi 2520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5400 .loc 10 2520 29 is_stmt 0 view .LVU1424 5401 00bc 698D ldrh r1, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5402 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2520: hi 2520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5403 .loc 10 2520 23 view .LVU1425 5404 00be 2985 strh r1, [r5, #40] @ movhi @ MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5405 .loc 10 2521 5 is_stmt 1 view .LVU1426 5406 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2521: hi 2521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5407 .loc 10 2521 23 is_stmt 0 view .LVU1427 5408 00c0 4A49 ldr r1, .L472+12 @ tmp287, 5409 00c2 E962 str r1, [r5, #44] @ tmp287, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 2524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5410 .loc 10 2524 5 is_stmt 1 view .LVU1428 5411 .LVL251: 5412 .LBB393: 5413 .LBI393: 6724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5414 .loc 10 6724 26 view .LVU1429 ARM GAS /tmp/ccJhhmLc.s page 361 5415 .LBB394: 6727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5416 .loc 10 6727 3 view .LVU1430 5417 00c4 1968 ldr r1, [r3] @ _77, _33->CR1 5418 00c6 41F48071 orr r1, r1, #256 @ _78, _77, 5419 00ca 1960 str r1, [r3] @ _78, _33->CR1 6730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5420 .loc 10 6730 3 view .LVU1431 5421 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6730: if ( 6730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5422 .loc 10 6730 7 is_stmt 0 view .LVU1432 5423 00cc 4046 mov r0, r8 @, _9 5424 00ce CDF80090 str r9, [sp] @ _75, 5425 00d2 5B46 mov r3, fp @, timeout 5426 00d4 4FF00111 mov r1, #65537 @, 5427 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 5428 .LVL252: 5429 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6732: if 6732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5430 .loc 10 6732 9 view .LVU1433 5431 00dc E259 ldr r2, [r4, r7] @ pretmp_178, MEM [(struct I2C_HandleTypeDef *)&_i2c 5432 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6730: if ( 6730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5433 .loc 10 6730 6 discriminator 1 view .LVU1434 5434 00de 30B1 cbz r0, .L440 @ tmp464, 6732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5435 .loc 10 6732 5 is_stmt 1 view .LVU1435 5436 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6732: if 6732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5437 .loc 10 6732 9 is_stmt 0 view .LVU1436 5438 00e0 1368 ldr r3, [r2] @ _81, pretmp_178->CR1 5439 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6732: if 6732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5440 .loc 10 6732 8 view .LVU1437 5441 00e2 D905 lsls r1, r3, #23 @, _81, 5442 00e4 B2D5 bpl .L441 @, 6734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5443 .loc 10 6734 7 is_stmt 1 view .LVU1438 5444 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6734: 6734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5445 .loc 10 6734 23 is_stmt 0 view .LVU1439 5446 00e6 4FF40073 mov r3, #512 @ tmp299, 5447 00ea 2B64 str r3, [r5, #64] @ tmp299, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 5448 .LVL253: 6734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5449 .loc 10 6734 23 view .LVU1440 5450 .LBE394: 5451 .LBE393: 5452 .LBE405: 5453 .LBE412: 5454 00ec AEE7 b .L441 @ 5455 .LVL254: 5456 .L440: 5457 .LBB413: 5458 .LBB406: 5459 .LBB400: 5460 .LBB397: ARM GAS /tmp/ccJhhmLc.s page 362 6740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5461 .loc 10 6740 3 is_stmt 1 view .LVU1441 5462 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6740: hi2c 6740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5463 .loc 10 6740 24 is_stmt 0 view .LVU1442 5464 00ee 029B ldr r3, [sp, #8] @ addr, %sfp 5465 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6743: if ( 6743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5466 .loc 10 6743 7 view .LVU1443 5467 00f0 3F49 ldr r1, .L472+16 @, 5468 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6740: hi2c 6740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5469 .loc 10 6740 24 view .LVU1444 5470 00f2 5B00 lsls r3, r3, #1 @ tmp301, addr, 5471 00f4 DBB2 uxtb r3, r3 @ _86, tmp301 5472 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6740: hi2c 6740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5473 .loc 10 6740 22 view .LVU1445 5474 00f6 1361 str r3, [r2, #16] @ _86, pretmp_178->DR 6743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5475 .loc 10 6743 3 is_stmt 1 view .LVU1446 5476 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6743: if ( 6743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5477 .loc 10 6743 7 is_stmt 0 view .LVU1447 5478 00f8 4046 mov r0, r8 @, _9 5479 00fa 4B46 mov r3, r9 @, _75 5480 00fc 5A46 mov r2, fp @, timeout 5481 00fe FFF7FEFF bl I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 @ 5482 .LVL255: 5483 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6743: if ( 6743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5484 .loc 10 6743 6 discriminator 1 view .LVU1448 5485 0102 0028 cmp r0, #0 @ tmp303 5486 0104 A2D1 bne .L441 @ 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5487 .loc 10 6749 3 is_stmt 1 view .LVU1449 5488 .LBB395: 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5489 .loc 10 6749 3 view .LVU1450 5490 0106 E359 ldr r3, [r4, r7] @ _88, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5491 0108 0590 str r0, [sp, #20] @ tmp303, tmpreg 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5492 .loc 10 6749 3 view .LVU1451 5493 010a 5A69 ldr r2, [r3, #20] @ _89, _88->SR1 5494 010c 0592 str r2, [sp, #20] @ _89, tmpreg 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5495 .loc 10 6749 3 view .LVU1452 5496 010e 9B69 ldr r3, [r3, #24] @ _90, _88->SR2 5497 0110 0593 str r3, [sp, #20] @ _90, tmpreg 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5498 .loc 10 6749 3 view .LVU1453 5499 .LBE395: 5500 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6752: if ( 6752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5501 .loc 10 6752 7 is_stmt 0 view .LVU1454 5502 0112 4A46 mov r2, r9 @, _75 5503 0114 5946 mov r1, fp @, timeout ARM GAS /tmp/ccJhhmLc.s page 363 5504 0116 4046 mov r0, r8 @, _9 5505 .LBB396: 5506 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6749: __HA 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5507 .loc 10 6749 3 view .LVU1455 5508 0118 059B ldr r3, [sp, #20] @ _91, tmpreg 5509 .LBE396: 6749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5510 .loc 10 6749 3 is_stmt 1 view .LVU1456 6752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5511 .loc 10 6752 3 view .LVU1457 5512 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6752: if ( 6752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5513 .loc 10 6752 7 is_stmt 0 view .LVU1458 5514 011a FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 5515 .LVL256: 5516 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6752: if ( 6752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5517 .loc 10 6752 6 discriminator 1 view .LVU1459 5518 011e 40B1 cbz r0, .L442 @ tmp466, 5519 .L468: 6777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5520 .loc 10 6777 7 is_stmt 1 view .LVU1460 5521 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6777: 6777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5522 .loc 10 6777 15 is_stmt 0 view .LVU1461 5523 0120 2B6C ldr r3, [r5, #64] @ _104, 5524 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6777: 6777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5525 .loc 10 6777 10 view .LVU1462 5526 0122 042B cmp r3, #4 @ _104, 5527 0124 92D1 bne .L441 @, 6780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5528 .loc 10 6780 9 is_stmt 1 view .LVU1463 5529 0126 E259 ldr r2, [r4, r7] @ _105, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 5530 .LVL257: 5531 .L465: 6780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5532 .loc 10 6780 9 is_stmt 0 view .LVU1464 5533 .LBE397: 5534 .LBE400: 5535 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2572: 2572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5536 .loc 10 2572 9 view .LVU1465 5537 0128 1368 ldr r3, [r2] @ _68,* _67 5538 012a 43F40073 orr r3, r3, #512 @ _69, _68, 5539 012e 1360 str r3, [r2] @ _69,* _67 5540 .LVL258: 2572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5541 .loc 10 2572 9 view .LVU1466 5542 0130 8CE7 b .L441 @ 5543 .LVL259: 5544 .L442: 5545 .LBB401: 5546 .LBB398: 6763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5547 .loc 10 6763 3 is_stmt 1 view .LVU1467 ARM GAS /tmp/ccJhhmLc.s page 364 5548 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6763: if ( 6763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5549 .loc 10 6763 6 is_stmt 0 view .LVU1468 5550 0132 039A ldr r2, [sp, #12] @ reg_size, %sfp 5551 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6757: 6757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5552 .loc 10 6757 7 view .LVU1469 5553 0134 E359 ldr r3, [r4, r7] @ pretmp_172, MEM [(struct I2C_HandleTypeDef *)&_i2c 5554 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6763: if ( 6763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5555 .loc 10 6763 6 view .LVU1470 5556 0136 012A cmp r2, #1 @ reg_size, 5557 0138 1BD1 bne .L443 @, 5558 .L469: 5559 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6786: hi 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5560 .loc 10 6786 26 view .LVU1471 5561 013a F6B2 uxtb r6, r6 @ _110, reg 5562 .LVL260: 5563 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6786: hi 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5564 .loc 10 6786 24 view .LVU1472 5565 013c 1E61 str r6, [r3, #16] @ _110, 5566 .LVL261: 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5567 .loc 10 6786 24 view .LVU1473 5568 .LBE398: 5569 .LBE401: 5570 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2529: wh 2529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5571 .loc 10 2529 16 view .LVU1474 5572 013e A826 movs r6, #168 @ tmp417, 5573 0140 06FB0AF6 mul r6, r6, r10 @ tmp416, tmp417, bus 5574 0144 A519 adds r5, r4, r6 @ tmp418, tmp239, tmp416 5575 .L446: 2529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5576 .loc 10 2529 27 is_stmt 1 view .LVU1475 5577 0146 2B8D ldrh r3, [r5, #40] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11 5578 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2532: 2532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5579 .loc 10 2532 11 is_stmt 0 view .LVU1476 5580 0148 4A46 mov r2, r9 @, _75 5581 014a 5946 mov r1, fp @, timeout 5582 014c 4046 mov r0, r8 @, _9 5583 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2529: wh 2529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5584 .loc 10 2529 27 view .LVU1477 5585 014e DBB9 cbnz r3, .L449 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11].ha 5586 .LVL262: 2567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5587 .loc 10 2567 5 is_stmt 1 view .LVU1478 5588 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2567: if 2567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5589 .loc 10 2567 9 is_stmt 0 view .LVU1479 5590 0150 FFF7FEFF bl I2C_WaitOnBTFFlagUntilTimeout.lto_priv.0 @ 5591 .LVL263: 5592 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2567: if ARM GAS /tmp/ccJhhmLc.s page 365 2567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5593 .loc 10 2567 8 discriminator 1 view .LVU1480 5594 0154 D8B9 cbnz r0, .L471 @ tmp421, 2578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5595 .loc 10 2578 5 is_stmt 1 view .LVU1481 5596 0156 A259 ldr r2, [r4, r6] @ _70, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 5597 0158 1368 ldr r3, [r2] @ _71, _70->CR1 5598 015a 43F40073 orr r3, r3, #512 @ _72, _71, 5599 015e 1360 str r3, [r2] @ _72, _70->CR1 2580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5600 .loc 10 2580 5 view .LVU1482 5601 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2580: hi 2580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5602 .loc 10 2580 17 is_stmt 0 view .LVU1483 5603 0160 2023 movs r3, #32 @ tmp440, 5604 0162 85F83D30 strb r3, [r5, #61] @ tmp440, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5605 .loc 10 2581 5 is_stmt 1 view .LVU1484 5606 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2584: __ 2584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5607 .loc 10 2584 5 is_stmt 0 view .LVU1485 5608 0166 85F83C00 strb r0, [r5, #60] @ tmp421, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 5609 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2581: hi 2581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5610 .loc 10 2581 16 view .LVU1486 5611 016a 85F83E00 strb r0, [r5, #62] @ tmp421, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 2584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5612 .loc 10 2584 5 is_stmt 1 view .LVU1487 2584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5613 .loc 10 2584 5 view .LVU1488 2584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5614 .loc 10 2584 5 view .LVU1489 2586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5615 .loc 10 2586 5 view .LVU1490 5616 .LVL264: 2586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5617 .loc 10 2586 5 is_stmt 0 view .LVU1491 5618 .LBE406: 5619 .LBE413: 5620 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:620: return 0; 620:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5621 .loc 3 620 10 view .LVU1492 5622 016e 0446 mov r4, r0 @ , tmp421 5623 0170 6EE7 b .L437 @ 5624 .LVL265: 5625 .L443: 5626 .LBB414: 5627 .LBB407: 5628 .LBB402: 5629 .LBB399: 6772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5630 .loc 10 6772 5 is_stmt 1 view .LVU1493 5631 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6772: hi 6772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5632 .loc 10 6772 26 is_stmt 0 view .LVU1494 5633 0172 320A lsrs r2, r6, #8 @ _102, reg, 5634 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6772: hi ARM GAS /tmp/ccJhhmLc.s page 366 6772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5635 .loc 10 6772 24 view .LVU1495 5636 0174 1A61 str r2, [r3, #16] @ _102, pretmp_172->DR 6775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5637 .loc 10 6775 5 is_stmt 1 view .LVU1496 5638 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6775: if 6775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5639 .loc 10 6775 9 is_stmt 0 view .LVU1497 5640 0176 5946 mov r1, fp @, timeout 5641 0178 4A46 mov r2, r9 @, _75 5642 017a 4046 mov r0, r8 @, _9 5643 017c FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 5644 .LVL266: 5645 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6775: if 6775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5646 .loc 10 6775 8 discriminator 1 view .LVU1498 5647 0180 0028 cmp r0, #0 @ tmp467 5648 0182 CDD1 bne .L468 @ 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5649 .loc 10 6786 5 is_stmt 1 view .LVU1499 5650 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:6786: hi 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5651 .loc 10 6786 9 is_stmt 0 view .LVU1500 5652 0184 E359 ldr r3, [r4, r7] @ _109, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 5653 0186 D8E7 b .L469 @ 5654 .LVL267: 5655 .L449: 6786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5656 .loc 10 6786 9 view .LVU1501 5657 .LBE399: 5658 .LBE402: 2532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5659 .loc 10 2532 7 is_stmt 1 view .LVU1502 5660 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2532: 2532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5661 .loc 10 2532 11 is_stmt 0 view .LVU1503 5662 0188 FFF7FEFF bl I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 @ 5663 .LVL268: 5664 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2532: 2532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5665 .loc 10 2532 10 discriminator 1 view .LVU1504 5666 018c 28B1 cbz r0, .L447 @ tmp468, 5667 .L471: 2569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5668 .loc 10 2569 7 is_stmt 1 view .LVU1505 5669 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2569: 2569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5670 .loc 10 2569 15 is_stmt 0 view .LVU1506 5671 018e 2B6C ldr r3, [r5, #64] @ _66, 5672 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2569: 2569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5673 .loc 10 2569 10 view .LVU1507 5674 0190 042B cmp r3, #4 @ _66, 5675 0192 7FF45BAF bne .L441 @, 2572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5676 .loc 10 2572 9 is_stmt 1 view .LVU1508 5677 0196 A259 ldr r2, [r4, r6] @ _67, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ ARM GAS /tmp/ccJhhmLc.s page 367 5678 0198 C6E7 b .L465 @ 5679 .L447: 2543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5680 .loc 10 2543 7 view .LVU1509 5681 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2543: 2543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5682 .loc 10 2543 33 is_stmt 0 view .LVU1510 5683 019a 6B6A ldr r3, [r5, #36] @ _47, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 5684 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2543: 2543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5685 .loc 10 2543 11 view .LVU1511 5686 019c 2F68 ldr r7, [r5] @ _49, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_11] 5687 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2543: 2543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5688 .loc 10 2543 28 view .LVU1512 5689 019e 1A46 mov r2, r3 @ _51, _47 5690 01a0 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2 @ _50, *_47 5691 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2543: 2543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5692 .loc 10 2543 26 view .LVU1513 5693 01a4 3961 str r1, [r7, #16] @ _50, _49->DR 2546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5694 .loc 10 2546 7 is_stmt 1 view .LVU1514 5695 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2546: 2546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5696 .loc 10 2546 21 is_stmt 0 view .LVU1515 5697 01a6 6A62 str r2, [r5, #36] @ _51, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5698 .loc 10 2549 7 is_stmt 1 view .LVU1516 5699 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2550: 2550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5700 .loc 10 2550 11 is_stmt 0 view .LVU1517 5701 01a8 6A8D ldrh r2, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5702 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2549: 2549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5703 .loc 10 2549 11 view .LVU1518 5704 01aa 298D ldrh r1, [r5, #40] @ _52, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5705 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2550: 2550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5706 .loc 10 2550 22 view .LVU1519 5707 01ac 013A subs r2, r2, #1 @ tmp381, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5708 01ae 92B2 uxth r2, r2 @ _55, tmp381 5709 01b0 6A85 strh r2, [r5, #42] @ movhi @ _55, MEM [(struct I2C_HandleTypeDef *)&_ 5710 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2552: 2552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5711 .loc 10 2552 12 view .LVU1520 5712 01b2 7A69 ldr r2, [r7, #20] @ _56, _49->SR1 5713 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2549: 2549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5714 .loc 10 2549 21 view .LVU1521 5715 01b4 481E subs r0, r1, #1 @ tmp368, _52, 5716 01b6 80B2 uxth r0, r0 @ _53, tmp368 5717 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2552: 2552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5718 .loc 10 2552 10 view .LVU1522 5719 01b8 5207 lsls r2, r2, #29 @, _56, 5720 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2549: ARM GAS /tmp/ccJhhmLc.s page 368 2549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5721 .loc 10 2549 21 view .LVU1523 5722 01ba 2885 strh r0, [r5, #40] @ movhi @ _53, MEM [(struct I2C_HandleTypeDef *)&_ 2550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5723 .loc 10 2550 7 is_stmt 1 view .LVU1524 2552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5724 .loc 10 2552 7 view .LVU1525 5725 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2552: 2552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5726 .loc 10 2552 10 is_stmt 0 view .LVU1526 5727 01bc C3D5 bpl .L446 @, 5728 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2552: 2552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5729 .loc 10 2552 59 discriminator 1 view .LVU1527 5730 01be 0028 cmp r0, #0 @ _53 5731 01c0 C1D0 beq .L446 @ 2555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5732 .loc 10 2555 9 is_stmt 1 view .LVU1528 5733 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2555: 2555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5734 .loc 10 2555 30 is_stmt 0 view .LVU1529 5735 01c2 5A78 ldrb r2, [r3, #1] @ zero_extendqisi2 @ _59, MEM[(uint8_t *)_47 + 1B] 5736 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2555: 2555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5737 .loc 10 2555 28 view .LVU1530 5738 01c4 3A61 str r2, [r7, #16] @ _59, _49->DR 2558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5739 .loc 10 2558 9 is_stmt 1 view .LVU1531 5740 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2558: 2558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5741 .loc 10 2558 23 is_stmt 0 view .LVU1532 5742 01c6 0233 adds r3, r3, #2 @ _60, _47, 5743 01c8 6B62 str r3, [r5, #36] @ _60, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 2561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5744 .loc 10 2561 9 is_stmt 1 view .LVU1533 5745 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2562: 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5746 .loc 10 2562 13 is_stmt 0 view .LVU1534 5747 01ca 6B8D ldrh r3, [r5, #42] @, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_1 5748 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2562: 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5749 .loc 10 2562 24 view .LVU1535 5750 01cc 013B subs r3, r3, #1 @ tmp408, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 5751 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2561: 2561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5752 .loc 10 2561 23 view .LVU1536 5753 01ce 0239 subs r1, r1, #2 @ tmp400, _52, 5754 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2562: 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5755 .loc 10 2562 24 view .LVU1537 5756 01d0 9BB2 uxth r3, r3 @ _63, tmp408 5757 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2561: 2561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferCount--; 5758 .loc 10 2561 23 view .LVU1538 5759 01d2 2985 strh r1, [r5, #40] @ movhi @ tmp400, MEM [(struct I2C_HandleTypeDef * 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5760 .loc 10 2562 9 is_stmt 1 view .LVU1539 ARM GAS /tmp/ccJhhmLc.s page 369 5761 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:2562: 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5762 .loc 10 2562 24 is_stmt 0 view .LVU1540 5763 01d4 6B85 strh r3, [r5, #42] @ movhi @ _63, MEM [(struct I2C_HandleTypeDef *)&_ 5764 01d6 B6E7 b .L446 @ 5765 .LVL269: 5766 .L451: 2562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 5767 .loc 10 2562 24 view .LVU1541 5768 .LBE407: 5769 .LBE414: 5770 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:613: if (!h) return 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 5771 .loc 3 613 19 discriminator 1 view .LVU1542 5772 01d8 4FF0FF34 mov r4, #-1 @ , 5773 .LVL270: 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 5774 .loc 3 613 19 discriminator 1 view .LVU1543 5775 01dc 3BE7 b .L434 @ 5776 .L473: 5777 01de 00BF .align 2 5778 .L472: 5779 01e0 00000000 .word _ZL9_i2c_devs 5780 01e4 00000000 .word _ZL9_ms_ticks.lto_priv.0 5781 01e8 02001000 .word 1048578 5782 01ec 0000FFFF .word -65536 5783 01f0 02000100 .word 65538 5784 .cfi_endproc 5785 .LFE66: 5786 .size _Z15stm32_i2c_writehtttPhtm, .-_Z15stm32_i2c_writehtttPhtm 5787 .section .text._Z22stm32_i2c_is_dev_readyhtmm,"ax",%progbits 5788 .align 1 5789 .global _Z22stm32_i2c_is_dev_readyhtmm 5790 .syntax unified 5791 .thumb 5792 .thumb_func 5793 .type _Z22stm32_i2c_is_dev_readyhtmm, %function 5794 _Z22stm32_i2c_is_dev_readyhtmm: 5795 .LVL271: 5796 .LFB69: 622:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 623:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** int stm32_i2c_is_dev_ready(uint8_t bus, uint16_t addr, uint32_t retries, uint32_t timeout) 624:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 5797 .loc 3 624 1 is_stmt 1 view -0 5798 .cfi_startproc 5799 @ args = 0, pretend = 0, frame = 24 5800 @ frame_needed = 0, uses_anonymous_args = 0 625:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 5801 .loc 3 625 3 view .LVU1545 5802 .LBB436: 5803 .LBI436: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 5804 .loc 3 54 27 view .LVU1546 5805 .LBB437: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 5806 .loc 3 56 3 view .LVU1547 5807 .LBE437: ARM GAS /tmp/ccJhhmLc.s page 370 5808 .LBE436: 5809 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:624: { 624:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 5810 .loc 3 624 1 is_stmt 0 view .LVU1548 5811 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 5812 .LCFI33: 5813 .cfi_def_cfa_offset 36 5814 .cfi_offset 4, -36 5815 .cfi_offset 5, -32 5816 .cfi_offset 6, -28 5817 .cfi_offset 7, -24 5818 .cfi_offset 8, -20 5819 .cfi_offset 9, -16 5820 .cfi_offset 10, -12 5821 .cfi_offset 11, -8 5822 .cfi_offset 14, -4 5823 .LBB441: 5824 .LBB438: 5825 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 5826 .loc 3 56 3 view .LVU1549 5827 0004 0128 cmp r0, #1 @ bus, 5828 .LBE438: 5829 .LBE441: 5830 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:624: { 624:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 5831 .loc 3 624 1 view .LVU1550 5832 0006 89B0 sub sp, sp, #36 @,, 5833 .LCFI34: 5834 .cfi_def_cfa_offset 72 5835 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:624: { 624:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 5836 .loc 3 624 1 view .LVU1551 5837 0008 CDE90212 strd r1, r2, [sp, #8] @ tmp324, tmp325,, 5838 000c 0546 mov r5, r0 @ bus, tmp323 5839 000e 1F46 mov r7, r3 @ timeout, tmp326 5840 .LBB442: 5841 .LBB439: 5842 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 5843 .loc 3 56 3 view .LVU1552 5844 0010 00F2C480 bhi .L489 @, 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5845 .loc 3 57 3 is_stmt 1 view .LVU1553 5846 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:57: return &_i2c_dev 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5847 .loc 3 57 26 is_stmt 0 view .LVU1554 5848 0014 DFF89481 ldr r8, .L500+8 @ tmp179, 5849 .LBE439: 5850 .LBE442: 5851 .LBB443: 5852 .LBB444: 5853 .LBB445: 5854 .LBB446: 5855 .LBB447: 5856 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 5857 .loc 5 56 10 view .LVU1555 ARM GAS /tmp/ccJhhmLc.s page 371 5858 0018 DFF88CB1 ldr fp, .L500+4 @ tmp184, 5859 001c 4442 rsbs r4, r0, #0 @ tmp178, bus 5860 001e 04F0A804 and r4, r4, #168 @ _15, tmp178, 5861 .LBE447: 5862 .LBE446: 5863 .LBE445: 5864 .LBE444: 5865 .LBE443: 5866 .LBB468: 5867 .LBB440: 5868 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:57: return &_i2c_dev 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5869 .loc 3 57 26 view .LVU1556 5870 0022 04EB0806 add r6, r4, r8 @ _8, _15, tmp179 5871 .LVL272: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5872 .loc 3 57 26 view .LVU1557 5873 .LBE440: 5874 .LBE468: 626:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 5875 .loc 3 626 3 is_stmt 1 view .LVU1558 627:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 628:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2CMutex(bus); 5876 .loc 3 628 3 view .LVU1559 5877 .LBB469: 5878 .LBB461: 5879 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3428: if ( 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5880 .loc 10 3428 11 is_stmt 0 view .LVU1560 5881 0026 4FF0A809 mov r9, #168 @ tmp187, 5882 .LBE461: 5883 .LBE469: 5884 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:628: I2CMutex(bus); 5885 .loc 3 628 3 discriminator 1 view .LVU1561 5886 002a 3046 mov r0, r6 @, _8 5887 .LVL273: 5888 .LBB470: 5889 .LBB462: 5890 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3428: if ( 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5891 .loc 10 3428 11 view .LVU1562 5892 002c 09FB05F9 mul r9, r9, r5 @ tmp186, tmp187, bus 5893 .LBE462: 5894 .LBE470: 5895 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:628: I2CMutex(bus); 5896 .loc 3 628 3 discriminator 1 view .LVU1563 5897 0030 FFF7FEFF bl _ZL16i2c_ensure_mutexP16stm32_i2c_device @ 5898 .LVL274: 5899 .loc 3 628 3 is_stmt 1 discriminator 2 view .LVU1564 5900 .LBB471: 5901 .LBI471: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5902 .loc 7 102 20 view .LVU1565 5903 .LBB472: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5904 .loc 7 102 55 view .LVU1566 5905 .LBE472: ARM GAS /tmp/ccJhhmLc.s page 372 5906 .LBE471: 5907 .LBB474: 5908 .LBB463: 5909 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3428: if ( 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5910 .loc 10 3428 11 is_stmt 0 view .LVU1567 5911 0034 08EB090A add r10, r8, r9 @ tmp188, tmp179, tmp186 5912 .LBE463: 5913 .LBE474: 5914 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:628: I2CMutex(bus); 5915 .loc 3 628 3 discriminator 3 view .LVU1568 5916 0038 04F15801 add r1, r4, #88 @ _133, _15, 5917 .LBB475: 5918 .LBB473: 5919 @ /workspaces/edgetx/radio/src/os/task.h:102: static MutexLock MakeInstance(mutex_handle_t* mtx) 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5920 .loc 7 102 75 view .LVU1569 5921 003c 4144 add r1, r1, r8 @, tmp179 5922 003e 06A8 add r0, sp, #24 @,, 5923 0040 FFF7FEFF bl _ZN9MutexLockC2EP14mutex_handle_t.isra.0 @ 5924 .LVL275: 102:/workspaces/edgetx/radio/src/os/task.h **** ~MutexLock() {if(!scheduler_is_running()) return; if(locked) mutex_unlock(mutex);} 5925 .loc 7 102 75 view .LVU1570 5926 .LBE473: 5927 .LBE475: 629:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** HAL_StatusTypeDef err = HAL_I2C_IsDeviceReady(h, addr << 1, retries, timeout); 5928 .loc 3 629 3 is_stmt 1 view .LVU1571 5929 .LBB476: 5930 .LBI443: 3420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5931 .loc 10 3420 19 view .LVU1572 5932 .LBB464: 3423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t I2C_Trials = 1U; 5933 .loc 10 3423 3 view .LVU1573 5934 .LBB450: 5935 .LBI445: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 5936 .loc 11 25 21 view .LVU1574 5937 .loc 11 27 5 view .LVU1575 5938 .LBB449: 5939 .LBI446: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 5940 .loc 5 54 10 view .LVU1576 5941 .LBB448: 5942 .loc 5 56 3 view .LVU1577 5943 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 5944 .loc 5 56 10 is_stmt 0 view .LVU1578 5945 0044 DBF80040 ldr r4, [fp] @ tickstart, _ms_ticks 5946 .LVL276: 5947 .loc 5 56 10 view .LVU1579 5948 .LBE448: 5949 .LBE449: 5950 .LBE450: 3424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** FlagStatus tmp1; 5951 .loc 10 3424 3 is_stmt 1 view .LVU1580 3425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** FlagStatus tmp2; 5952 .loc 10 3425 3 view .LVU1581 ARM GAS /tmp/ccJhhmLc.s page 373 3426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 5953 .loc 10 3426 3 view .LVU1582 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5954 .loc 10 3428 3 view .LVU1583 5955 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3428: if ( 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5956 .loc 10 3428 11 is_stmt 0 view .LVU1584 5957 0048 9AF83D30 ldrb r3, [r10, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeD 5958 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3428: if ( 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5959 .loc 10 3428 6 view .LVU1585 5960 004c 202B cmp r3, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_10].handl 5961 004e 08D0 beq .L476 @, 5962 .LVL277: 5963 .L481: 3428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5964 .loc 10 3428 6 view .LVU1586 5965 .LBE464: 5966 .LBE476: 5967 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:630: if (err != HAL_ 630:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (err != HAL_OK) return -1; 5968 .loc 3 630 30 discriminator 1 view .LVU1587 5969 0050 4FF0FF34 mov r4, #-1 @ , 5970 .L477: 5971 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:633: } 631:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 632:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 633:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 5972 .loc 3 633 1 view .LVU1588 5973 0054 06A8 add r0, sp, #24 @,, 5974 0056 FFF7FEFF bl _ZN9MutexLockD2Ev.isra.0 @ 5975 .LVL278: 5976 .L474: 5977 .loc 3 633 1 view .LVU1589 5978 005a 2046 mov r0, r4 @, 5979 005c 09B0 add sp, sp, #36 @,, 5980 .LCFI35: 5981 .cfi_remember_state 5982 .cfi_def_cfa_offset 36 5983 @ sp needed @ 5984 005e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 5985 .LVL279: 5986 .L476: 5987 .LCFI36: 5988 .cfi_restore_state 5989 .LBB477: 5990 .LBB465: 3431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5991 .loc 10 3431 5 is_stmt 1 view .LVU1590 5992 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3431: if 3431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 5993 .loc 10 3431 9 is_stmt 0 view .LVU1591 5994 0062 5049 ldr r1, .L500 @, 5995 0064 0094 str r4, [sp] @ tickstart, 5996 0066 1923 movs r3, #25 @, 5997 0068 0122 movs r2, #1 @, 5998 006a 3046 mov r0, r6 @, _8 ARM GAS /tmp/ccJhhmLc.s page 374 5999 006c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 6000 .LVL280: 6001 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3431: if 3431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6002 .loc 10 3431 8 discriminator 1 view .LVU1592 6003 0070 0028 cmp r0, #0 @ tmp327 6004 0072 EDD1 bne .L481 @ 3437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6005 .loc 10 3437 5 is_stmt 1 view .LVU1593 3437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6006 .loc 10 3437 5 view .LVU1594 6007 0074 9AF83C30 ldrb r3, [r10, #60] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeD 6008 0078 012B cmp r3, #1 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_10].handle 6009 007a E9D0 beq .L481 @, 3437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6010 .loc 10 3437 5 discriminator 2 view .LVU1595 6011 007c 0123 movs r3, #1 @ tmp205, 6012 007e 8AF83C30 strb r3, [r10, #60] @ tmp205, MEM [(struct I2C_HandleTypeDef *)&_i2c_ 3437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6013 .loc 10 3437 5 view .LVU1596 3440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6014 .loc 10 3440 5 view .LVU1597 6015 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3440: if 3440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6016 .loc 10 3440 14 is_stmt 0 view .LVU1598 6017 0082 58F80930 ldr r3, [r8, r9] @ _30, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 6018 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3440: if 3440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6019 .loc 10 3440 24 view .LVU1599 6020 0086 1A68 ldr r2, [r3] @ _31, _30->CR1 6021 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3440: if 3440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6022 .loc 10 3440 8 view .LVU1600 6023 0088 D207 lsls r2, r2, #31 @, _31, 3443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6024 .loc 10 3443 7 is_stmt 1 view .LVU1601 6025 008a 5EBF ittt pl 6026 008c 1A68 ldrpl r2, [r3] @ _33, _30->CR1 6027 008e 42F00102 orrpl r2, r2, #1 @ _34, _33, 6028 0092 1A60 strpl r2, [r3] @ _34, _30->CR1 3447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6029 .loc 10 3447 5 view .LVU1602 6030 0094 1A68 ldr r2, [r3] @ _35, _30->CR1 6031 0096 22F40062 bic r2, r2, #2048 @ _36, _35, 6032 009a 1A60 str r2, [r3] @ _36, _30->CR1 3449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6033 .loc 10 3449 5 view .LVU1603 6034 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3449: hi 3449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6035 .loc 10 3449 17 is_stmt 0 view .LVU1604 6036 009c A823 movs r3, #168 @ tmp214, 6037 009e 03FB0585 mla r5, r3, r5, r8 @ tmp215, tmp214, bus, tmp179 6038 00a2 2423 movs r3, #36 @ tmp217, 6039 00a4 85F83D30 strb r3, [r5, #61] @ tmp217, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 3450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6040 .loc 10 3450 5 is_stmt 1 view .LVU1605 6041 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3450: hi ARM GAS /tmp/ccJhhmLc.s page 375 3450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6042 .loc 10 3450 21 is_stmt 0 view .LVU1606 6043 00a8 0023 movs r3, #0 @ tmp224, 6044 00aa 2B64 str r3, [r5, #64] @ tmp224, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 3451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6045 .loc 10 3451 5 is_stmt 1 view .LVU1607 6046 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3451: hi 3451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6047 .loc 10 3451 23 is_stmt 0 view .LVU1608 6048 00ac A3F58033 sub r3, r3, #65536 @ tmp230, tmp230, 6049 00b0 EB62 str r3, [r5, #44] @ tmp230, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 6050 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3424: uint 3424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** FlagStatus tmp1; 6051 .loc 10 3424 12 view .LVU1609 6052 00b2 4FF00109 mov r9, #1 @ I2C_Trials, 6053 .LVL281: 6054 .L488: 3453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6055 .loc 10 3453 5 is_stmt 1 view .LVU1610 3456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6056 .loc 10 3456 7 view .LVU1611 6057 00b6 2A68 ldr r2, [r5] @ _37, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_10] 6058 00b8 1368 ldr r3, [r2] @ _38, _37->CR1 6059 00ba 43F48073 orr r3, r3, #256 @ _39, _38, 6060 00be 1360 str r3, [r2] @ _39, _37->CR1 3459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6061 .loc 10 3459 7 view .LVU1612 6062 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3459: 3459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6063 .loc 10 3459 11 is_stmt 0 view .LVU1613 6064 00c0 4FF00111 mov r1, #65537 @, 6065 00c4 3B46 mov r3, r7 @, timeout 6066 00c6 0094 str r4, [sp] @ tickstart, 6067 00c8 0022 movs r2, #0 @, 6068 00ca 3046 mov r0, r6 @, _8 6069 00cc FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 6070 .LVL282: 6071 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3461: 3461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6072 .loc 10 3461 13 view .LVU1614 6073 00d0 2B68 ldr r3, [r5] @ pretmp_73, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 6074 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3459: 3459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6075 .loc 10 3459 10 discriminator 1 view .LVU1615 6076 00d2 30B1 cbz r0, .L480 @ tmp328, 3461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6077 .loc 10 3461 9 is_stmt 1 view .LVU1616 6078 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3461: 3461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6079 .loc 10 3461 13 is_stmt 0 view .LVU1617 6080 00d4 1B68 ldr r3, [r3] @ _43, pretmp_73->CR1 6081 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3461: 3461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6082 .loc 10 3461 12 view .LVU1618 6083 00d6 DB05 lsls r3, r3, #23 @, _43, 6084 00d8 BAD5 bpl .L481 @, 3463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } ARM GAS /tmp/ccJhhmLc.s page 376 6085 .loc 10 3463 11 is_stmt 1 view .LVU1619 6086 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3463: 3463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6087 .loc 10 3463 27 is_stmt 0 view .LVU1620 6088 00da 4FF40073 mov r3, #512 @ tmp246, 6089 00de 2B64 str r3, [r5, #64] @ tmp246, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 6090 .LVL283: 3463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6091 .loc 10 3463 27 view .LVU1621 6092 .LBE465: 6093 .LBE477: 630:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 6094 .loc 3 630 3 is_stmt 1 view .LVU1622 6095 00e0 B6E7 b .L481 @ 6096 .LVL284: 6097 .L480: 6098 .LBB478: 6099 .LBB466: 3469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6100 .loc 10 3469 7 view .LVU1623 6101 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3469: 3469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6102 .loc 10 3469 28 is_stmt 0 view .LVU1624 6103 00e2 029A ldr r2, [sp, #8] @ addr, %sfp 6104 .LBB451: 6105 .LBB452: 6106 .LBB453: 6107 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 6108 .loc 5 56 10 view .LVU1625 6109 00e4 3048 ldr r0, .L500+4 @ tmp320, 6110 .LBE453: 6111 .LBE452: 6112 .LBE451: 6113 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3469: 3469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6114 .loc 10 3469 28 view .LVU1626 6115 00e6 5200 lsls r2, r2, #1 @ tmp248, addr, 6116 00e8 D2B2 uxtb r2, r2 @ _48, tmp248 6117 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3469: 3469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6118 .loc 10 3469 26 view .LVU1627 6119 00ea 1A61 str r2, [r3, #16] @ _48, pretmp_73->DR 3473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6120 .loc 10 3473 7 is_stmt 1 view .LVU1628 6121 .LBB456: 6122 .LBI456: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 6123 .loc 11 25 21 view .LVU1629 6124 .loc 11 27 5 view .LVU1630 6125 .LBB457: 6126 .LBI457: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 6127 .loc 5 54 10 view .LVU1631 6128 .LBB458: 6129 .loc 5 56 3 view .LVU1632 6130 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 6131 .loc 5 56 10 is_stmt 0 view .LVU1633 ARM GAS /tmp/ccJhhmLc.s page 377 6132 00ec DBF80040 ldr r4, [fp] @ tickstart, _ms_ticks 6133 .LVL285: 6134 .loc 5 56 10 view .LVU1634 6135 .LBE458: 6136 .LBE457: 6137 .LBE456: 3475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6138 .loc 10 3475 7 is_stmt 1 view .LVU1635 6139 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3475: 3475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6140 .loc 10 3475 14 is_stmt 0 view .LVU1636 6141 00f0 5969 ldr r1, [r3, #20] @ _51, pretmp_73->SR1 6142 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3476: 3476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET)) 6143 .loc 10 3476 14 view .LVU1637 6144 00f2 5A69 ldr r2, [r3, #20] @ _55, pretmp_73->SR1 6145 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3475: 3475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6146 .loc 10 3475 12 view .LVU1638 6147 00f4 C1F34001 ubfx r1, r1, #1, #1 @ tmp1, _51,, 6148 .LVL286: 3476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET)) 6149 .loc 10 3476 7 is_stmt 1 view .LVU1639 6150 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3476: 3476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** while ((hi2c->State != HAL_I2C_STATE_TIMEOUT) && (tmp1 == RESET) && (tmp2 == RESET)) 6151 .loc 10 3476 12 is_stmt 0 view .LVU1640 6152 00f8 C2F38022 ubfx r2, r2, #10, #1 @ tmp2, _55,, 6153 .LVL287: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6154 .loc 10 3477 7 is_stmt 1 view .LVU1641 6155 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3481: 3481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6156 .loc 10 3481 23 is_stmt 0 view .LVU1642 6157 00fc 4FF0A00C mov ip, #160 @ tmp321, 6158 .LVL288: 6159 .L482: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6160 .loc 10 3477 72 is_stmt 1 view .LVU1643 6161 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3477: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6162 .loc 10 3477 19 is_stmt 0 view .LVU1644 6163 0100 95F83DE0 ldrb lr, [r5, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 6164 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3477: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6165 .loc 10 3477 72 view .LVU1645 6166 0104 BEF1A00F cmp lr, #160 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_10].hand 6167 0108 01D0 beq .L485 @, 6168 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3477: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6169 .loc 10 3477 53 discriminator 1 view .LVU1646 6170 010a 0A43 orrs r2, r2, r1 @ tmp331, tmp2, tmp1 6171 .LVL289: 3477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6172 .loc 10 3477 53 discriminator 1 view .LVU1647 6173 010c 21D0 beq .L486 @, 6174 .L485: 3487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 378 6175 .loc 10 3487 7 is_stmt 1 view .LVU1648 6176 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3487: 3487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6177 .loc 10 3487 19 is_stmt 0 view .LVU1649 6178 010e 4FF02008 mov r8, #32 @ tmp278, 6179 0112 85F83D80 strb r8, [r5, #61] @ tmp278, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 3490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6180 .loc 10 3490 7 is_stmt 1 view .LVU1650 6181 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3490: 3490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6182 .loc 10 3490 11 is_stmt 0 view .LVU1651 6183 0116 5A69 ldr r2, [r3, #20] @ _74, pretmp_73->SR1 6184 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3490: 3490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6185 .loc 10 3490 10 view .LVU1652 6186 0118 12F0020F tst r2, #2 @ _74, 6187 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3493: 3493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6188 .loc 10 3493 9 view .LVU1653 6189 011c 1A68 ldr r2, [r3] @ _76,* pretmp_73 6190 011e 42F40072 orr r2, r2, #512 @ _77, _76, 6191 0122 1A60 str r2, [r3] @ _77,* pretmp_73 6192 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3490: 3490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6193 .loc 10 3490 10 view .LVU1654 6194 0124 23D0 beq .L487 @, 3493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6195 .loc 10 3493 9 is_stmt 1 view .LVU1655 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6196 .loc 10 3496 9 view .LVU1656 6197 .LBB459: 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6198 .loc 10 3496 9 view .LVU1657 6199 0126 0022 movs r2, #0 @ tmp281, 6200 0128 0592 str r2, [sp, #20] @ tmp281, tmpreg 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6201 .loc 10 3496 9 view .LVU1658 6202 012a 5A69 ldr r2, [r3, #20] @ _78, pretmp_73->SR1 6203 012c 0592 str r2, [sp, #20] @ _78, tmpreg 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6204 .loc 10 3496 9 view .LVU1659 6205 012e 9B69 ldr r3, [r3, #24] @ _79, pretmp_73->SR2 6206 0130 0593 str r3, [sp, #20] @ _79, tmpreg 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6207 .loc 10 3496 9 view .LVU1660 6208 0132 059B ldr r3, [sp, #20] @ _80, tmpreg 6209 .LBE459: 3496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6210 .loc 10 3496 9 view .LVU1661 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6211 .loc 10 3499 9 view .LVU1662 6212 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3499: 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6213 .loc 10 3499 13 is_stmt 0 view .LVU1663 6214 0134 0094 str r4, [sp] @ tickstart, 6215 0136 1B49 ldr r1, .L500 @, 6216 .LVL290: ARM GAS /tmp/ccJhhmLc.s page 379 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6217 .loc 10 3499 13 view .LVU1664 6218 0138 1923 movs r3, #25 @, 6219 013a 0122 movs r2, #1 @, 6220 013c 3046 mov r0, r6 @, _8 6221 013e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 6222 .LVL291: 6223 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3499: 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6224 .loc 10 3499 12 discriminator 1 view .LVU1665 6225 0142 0446 mov r4, r0 @ tmp283, tmp329 6226 .LVL292: 3499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6227 .loc 10 3499 12 discriminator 1 view .LVU1666 6228 0144 0028 cmp r0, #0 @ tmp283 6229 0146 83D1 bne .L481 @ 3504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6230 .loc 10 3504 9 is_stmt 1 view .LVU1667 6231 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3504: 3504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6232 .loc 10 3504 21 is_stmt 0 view .LVU1668 6233 0148 85F83D80 strb r8, [r5, #61] @ tmp278, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 3507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6234 .loc 10 3507 9 is_stmt 1 view .LVU1669 3507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6235 .loc 10 3507 9 view .LVU1670 6236 014c 85F83C00 strb r0, [r5, #60] @ tmp283, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 3507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6237 .loc 10 3507 9 view .LVU1671 3509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6238 .loc 10 3509 9 view .LVU1672 6239 .LVL293: 3509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6240 .loc 10 3509 9 is_stmt 0 view .LVU1673 6241 .LBE466: 6242 .LBE478: 630:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 6243 .loc 3 630 3 is_stmt 1 view .LVU1674 6244 0150 80E7 b .L477 @ 6245 .LVL294: 6246 .L486: 6247 .LBB479: 6248 .LBB467: 3479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6249 .loc 10 3479 9 view .LVU1675 6250 .LBB460: 6251 .LBI451: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 6252 .loc 11 25 21 view .LVU1676 6253 .loc 11 27 5 view .LVU1677 6254 .LBB455: 6255 .LBI452: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 6256 .loc 5 54 10 view .LVU1678 6257 .LBB454: 6258 .loc 5 56 3 view .LVU1679 6259 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; ARM GAS /tmp/ccJhhmLc.s page 380 6260 .loc 5 56 10 is_stmt 0 view .LVU1680 6261 0152 0268 ldr r2, [r0] @ _93, _ms_ticks 6262 .LBE454: 6263 .LBE455: 6264 .LBE460: 6265 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3479: 3479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6266 .loc 10 3479 29 discriminator 1 view .LVU1681 6267 0154 121B subs r2, r2, r4 @ _60, _93, tickstart 6268 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3479: 3479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6269 .loc 10 3479 12 discriminator 1 view .LVU1682 6270 0156 9742 cmp r7, r2 @ timeout, _60 6271 0158 00D3 bcc .L483 @, 6272 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3479: 3479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6273 .loc 10 3479 53 discriminator 1 view .LVU1683 6274 015a 0FB9 cbnz r7, .L484 @ timeout, 6275 .L483: 3481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6276 .loc 10 3481 11 is_stmt 1 view .LVU1684 6277 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3481: 3481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6278 .loc 10 3481 23 is_stmt 0 view .LVU1685 6279 015c 85F83DC0 strb ip, [r5, #61] @ tmp321, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 6280 .L484: 3483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6281 .loc 10 3483 9 is_stmt 1 view .LVU1686 6282 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3483: 3483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6283 .loc 10 3483 16 is_stmt 0 view .LVU1687 6284 0160 5969 ldr r1, [r3, #20] @ _62, pretmp_73->SR1 6285 .LVL295: 6286 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3484: 3484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6287 .loc 10 3484 16 view .LVU1688 6288 0162 5A69 ldr r2, [r3, #20] @ _66, pretmp_73->SR1 6289 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3483: 3483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6290 .loc 10 3483 14 view .LVU1689 6291 0164 C1F34001 ubfx r1, r1, #1, #1 @ tmp1, _62,, 3484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6292 .loc 10 3484 9 is_stmt 1 view .LVU1690 6293 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3484: 3484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6294 .loc 10 3484 14 is_stmt 0 view .LVU1691 6295 0168 C2F38022 ubfx r2, r2, #10, #1 @ tmp2, _66,, 6296 016c C8E7 b .L482 @ 6297 .LVL296: 6298 .L487: 3514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6299 .loc 10 3514 9 is_stmt 1 view .LVU1692 3517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6300 .loc 10 3517 9 view .LVU1693 6301 016e 6FF48062 mvn r2, #1024 @ tmp298, 6302 0172 5A61 str r2, [r3, #20] @ tmp298, pretmp_73->SR1 3520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { ARM GAS /tmp/ccJhhmLc.s page 381 6303 .loc 10 3520 9 view .LVU1694 6304 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3520: 3520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6305 .loc 10 3520 13 is_stmt 0 view .LVU1695 6306 0174 0B49 ldr r1, .L500 @, 6307 .LVL297: 3520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6308 .loc 10 3520 13 view .LVU1696 6309 0176 0094 str r4, [sp] @ tickstart, 6310 0178 1923 movs r3, #25 @, 6311 017a 0122 movs r2, #1 @, 6312 017c 3046 mov r0, r6 @, _8 6313 017e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout.lto_priv.0 @ 6314 .LVL298: 6315 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3520: 3520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 6316 .loc 10 3520 12 discriminator 1 view .LVU1697 6317 0182 0028 cmp r0, #0 @ tmp300 6318 0184 7FF464AF bne .L481 @ 3527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6319 .loc 10 3527 7 is_stmt 1 view .LVU1698 6320 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3529: wh 3529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6321 .loc 10 3529 23 is_stmt 0 view .LVU1699 6322 0188 039B ldr r3, [sp, #12] @ retries, %sfp 6323 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3527: 3527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6324 .loc 10 3527 17 view .LVU1700 6325 018a 09F10109 add r9, r9, #1 @ I2C_Trials, I2C_Trials, 6326 .LVL299: 3529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6327 .loc 10 3529 23 is_stmt 1 view .LVU1701 6328 018e 4B45 cmp r3, r9 @ retries, I2C_Trials 6329 0190 91D8 bhi .L488 @, 3531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6330 .loc 10 3531 5 view .LVU1702 6331 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:3531: hi 3531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6332 .loc 10 3531 17 is_stmt 0 view .LVU1703 6333 0192 85F83D80 strb r8, [r5, #61] @ tmp278, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 3534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6334 .loc 10 3534 5 is_stmt 1 view .LVU1704 3534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6335 .loc 10 3534 5 view .LVU1705 6336 0196 85F83C00 strb r0, [r5, #60] @ tmp300, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 3534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 6337 .loc 10 3534 5 view .LVU1706 3536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6338 .loc 10 3536 5 view .LVU1707 6339 .LVL300: 3536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 6340 .loc 10 3536 5 is_stmt 0 view .LVU1708 6341 .LBE467: 6342 .LBE479: 630:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 6343 .loc 3 630 3 is_stmt 1 view .LVU1709 6344 019a 59E7 b .L481 @ ARM GAS /tmp/ccJhhmLc.s page 382 6345 .LVL301: 6346 .L489: 6347 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:626: if (!h) return 626:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 6348 .loc 3 626 19 is_stmt 0 discriminator 1 view .LVU1710 6349 019c 4FF0FF34 mov r4, #-1 @ , 6350 .LVL302: 626:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 6351 .loc 3 626 19 discriminator 1 view .LVU1711 6352 01a0 5BE7 b .L474 @ 6353 .L501: 6354 01a2 00BF .align 2 6355 .L500: 6356 01a4 02001000 .word 1048578 6357 01a8 00000000 .word _ZL9_ms_ticks.lto_priv.0 6358 01ac 00000000 .word _ZL9_i2c_devs 6359 .cfi_endproc 6360 .LFE69: 6361 .size _Z22stm32_i2c_is_dev_readyhtmm, .-_Z22stm32_i2c_is_dev_readyhtmm 6362 .section .text.USBD_GetString.part.0.constprop.0,"ax",%progbits 6363 .align 1 6364 .global USBD_GetString.part.0.constprop.0 6365 .hidden USBD_GetString.part.0.constprop.0 6366 .syntax unified 6367 .thumb 6368 .thumb_func 6369 .type USBD_GetString.part.0.constprop.0, %function 6370 USBD_GetString.part.0.constprop.0: 6371 .LVL303: 6372 .LFB72: 6373 .file 12 "/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @file usbd_req.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief This file provides the standard USB requests following chapter 9. 6:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ****************************************************************************** 7:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @attention 8:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * 9:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Copyright (c) 2015 STMicroelectronics. 10:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * All rights reserved. 11:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * 12:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * This software is licensed under terms that can be found in the LICENSE file 13:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * in the root directory of this software component. 14:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 15:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * 16:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ****************************************************************************** 17:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 18:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 19:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Includes ------------------------------------------------------------------*/ 20:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #include "usbd_ctlreq.h" 21:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #include "usbd_ioreq.h" 22:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 23:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #ifdef USE_USBD_COMPOSITE 24:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #include "usbd_composite_builder.h" 25:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USE_USBD_COMPOSITE */ 26:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ARM GAS /tmp/ccJhhmLc.s page 383 27:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @addtogroup STM32_USBD_STATE_DEVICE_LIBRARY 28:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{ 29:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 30:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 31:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 32:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ 33:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USB standard requests module 34:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{ 35:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 36:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 37:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_TypesDefinitions 38:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{ 39:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 40:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 41:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 42:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @} 43:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 44:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 45:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 46:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Defines 47:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{ 48:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 49:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #ifndef USBD_MAX_STR_DESC_SIZ 50:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #define USBD_MAX_STR_DESC_SIZ 64U 51:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USBD_MAX_STR_DESC_SIZ */ 52:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 53:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @} 54:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 55:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 56:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 57:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Macros 58:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{ 59:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 60:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 61:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 62:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @} 63:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 64:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 65:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 66:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Variables 67:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{ 68:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 69:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 70:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 71:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @} 72:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 73:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 74:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 75:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_FunctionPrototypes 76:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{ 77:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 78:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 79:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetAddress(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 80:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static USBD_StatusTypeDef USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 81:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 82:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 83:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); ARM GAS /tmp/ccJhhmLc.s page 384 84:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_ClrFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req); 85:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t USBD_GetLen(uint8_t *buf); 86:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 87:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 88:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @} 89:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 90:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 91:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 92:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Functions 93:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{ 94:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 95:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 96:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 97:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 98:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdDevReq 99:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb device requests 100:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 102:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status 103:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 104:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 105:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 106:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK; 107:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 108:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bmRequest & USB_REQ_TYPE_MASK) 109:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 110:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_CLASS: 111:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_VENDOR: 112:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = (USBD_StatusTypeDef)pdev->pClass[pdev->classId]->Setup(pdev, req); 113:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 114:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 115:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_STANDARD: 116:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bRequest) 117:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 118:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_DESCRIPTOR: 119:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetDescriptor(pdev, req); 120:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 121:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 122:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_ADDRESS: 123:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetAddress(pdev, req); 124:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 125:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 126:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_CONFIGURATION: 127:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = USBD_SetConfig(pdev, req); 128:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 129:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 130:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_CONFIGURATION: 131:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetConfig(pdev, req); 132:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 133:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 134:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_STATUS: 135:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetStatus(pdev, req); 136:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 137:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 138:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_FEATURE: 139:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetFeature(pdev, req); 140:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; ARM GAS /tmp/ccJhhmLc.s page 385 141:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 142:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_CLEAR_FEATURE: 143:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrFeature(pdev, req); 144:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 145:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 146:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 147:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 148:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 149:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 150:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 151:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 152:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 153:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 154:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 155:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 156:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 157:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return ret; 158:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 159:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 160:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 161:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdItfReq 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb interface requests 163:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 164:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 165:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status 166:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 167:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 168:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 169:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK; 170:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t idx; 171:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 172:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bmRequest & USB_REQ_TYPE_MASK) 173:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 174:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_CLASS: 175:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_VENDOR: 176:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_STANDARD: 177:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state) 178:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 179:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_DEFAULT: 180:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED: 181:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED: 182:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 183:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES) 184:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 185:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Get the class index relative to this interface */ 186:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx = USBD_CoreFindIF(pdev, LOBYTE(req->wIndex)); 187:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (((uint8_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) 188:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 189:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Call the class data out function to manage the request */ 190:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pClass[idx]->Setup != NULL) 191:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 192:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->classId = idx; 193:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = (USBD_StatusTypeDef)(pdev->pClass[idx]->Setup(pdev, req)); 194:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 195:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 196:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 197:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* should never reach this condition */ ARM GAS /tmp/ccJhhmLc.s page 386 198:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = USBD_FAIL; 199:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 200:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 201:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 202:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 203:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* No relative interface found */ 204:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = USBD_FAIL; 205:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 206:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 207:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((req->wLength == 0U) && (ret == USBD_OK)) 208:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 209:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 210:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 211:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 212:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 213:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 214:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 215:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 216:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 217:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 218:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 219:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 220:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 221:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 222:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 223:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 224:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 225:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 226:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 227:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 228:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 229:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return ret; 230:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 231:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 232:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 233:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdEPReq 234:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb endpoint requests 235:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 236:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 237:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status 238:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 239:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 240:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 241:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_EndpointTypeDef *pep; 242:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t ep_addr; 243:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t idx; 244:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK; 245:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 246:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ep_addr = LOBYTE(req->wIndex); 247:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 248:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bmRequest & USB_REQ_TYPE_MASK) 249:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 250:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_CLASS: 251:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_VENDOR: 252:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Get the class index relative to this endpoint */ 253:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx = USBD_CoreFindEP(pdev, ep_addr); 254:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (((uint8_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) ARM GAS /tmp/ccJhhmLc.s page 387 255:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 256:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->classId = idx; 257:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Call the class data out function to manage the request */ 258:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pClass[idx]->Setup != NULL) 259:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 260:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = (USBD_StatusTypeDef)pdev->pClass[idx]->Setup(pdev, req); 261:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 262:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 263:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 264:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 265:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_TYPE_STANDARD: 266:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bRequest) 267:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 268:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_FEATURE: 269:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state) 270:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 271:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED: 272:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 273:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 274:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, ep_addr); 275:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, 0x80U); 276:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 277:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 278:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 279:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 280:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 281:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 282:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 283:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED: 284:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_EP_HALT) 285:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 286:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00U) && (ep_addr != 0x80U) && (req->wLength == 0x00U)) 287:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 288:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, ep_addr); 289:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 290:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 291:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 292:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 293:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 294:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 295:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 296:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 297:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 298:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 299:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 300:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 301:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_CLEAR_FEATURE: 302:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 303:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state) 304:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 305:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED: 306:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 307:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 308:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, ep_addr); 309:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, 0x80U); 310:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 311:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else ARM GAS /tmp/ccJhhmLc.s page 388 312:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 313:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 314:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 315:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 316:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 317:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED: 318:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_EP_HALT) 319:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 320:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr & 0x7FU) != 0x00U) 321:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 322:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_ClearStallEP(pdev, ep_addr); 323:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 324:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 325:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 326:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Get the class index relative to this interface */ 327:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx = USBD_CoreFindEP(pdev, ep_addr); 328:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (((uint8_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) 329:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 330:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->classId = idx; 331:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Call the class data out function to manage the request */ 332:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pClass[idx]->Setup != NULL) 333:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 334:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = (USBD_StatusTypeDef)(pdev->pClass[idx]->Setup(pdev, req)); 335:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 336:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 337:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 338:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 339:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 340:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 341:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 342:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 343:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 344:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 345:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 346:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_STATUS: 347:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state) 348:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 349:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED: 350:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 351:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 352:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 353:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 354:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 355:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 356:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7FU]; 357:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 358:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep->status = 0x0000U; 359:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 360:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 361:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 362:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 363:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED: 364:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr & 0x80U) == 0x80U) 365:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 366:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->ep_in[ep_addr & 0xFU].is_used == 0U) 367:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 368:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); ARM GAS /tmp/ccJhhmLc.s page 389 369:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 370:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 371:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 372:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 373:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 374:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->ep_out[ep_addr & 0xFU].is_used == 0U) 375:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 376:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 377:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 378:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 379:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 380:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 381:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 382:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7FU]; 383:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 384:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr == 0x00U) || (ep_addr == 0x80U)) 385:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 386:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep->status = 0x0000U; 387:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 388:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else if (USBD_LL_IsStallEP(pdev, ep_addr) != 0U) 389:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 390:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep->status = 0x0001U; 391:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 392:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 393:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 394:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep->status = 0x0000U; 395:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 396:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 397:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 398:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 399:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 400:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 401:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 402:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 403:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 404:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 405:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 406:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 407:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 408:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 409:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 410:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 411:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 412:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 413:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 414:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 415:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 416:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 417:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return ret; 418:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 419:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 420:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 421:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 422:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetDescriptor 423:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get Descriptor requests 424:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 425:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request ARM GAS /tmp/ccJhhmLc.s page 390 426:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 427:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 428:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 429:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 430:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint16_t len = 0U; 431:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t *pbuf = NULL; 432:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t err = 0U; 433:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 434:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->wValue >> 8) 435:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 436:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if ((USBD_LPM_ENABLED == 1U) || (USBD_CLASS_BOS_ENABLED == 1U)) 437:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_BOS: 438:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pDesc->GetBOSDescriptor != NULL) 439:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 440:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len); 441:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 442:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 443:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 444:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 445:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 446:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 447:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 448:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* (USBD_LPM_ENABLED == 1U) || (USBD_CLASS_BOS_ENABLED == 1U) */ 449:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_DEVICE: 450:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len); 451:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 452:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 453:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_CONFIGURATION: 454:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 455:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 456:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #ifdef USE_USBD_COMPOSITE 457:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((uint8_t)(pdev->NumClasses) > 0U) 458:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 459:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)USBD_CMPSIT.GetHSConfigDescriptor(&len); 460:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 461:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 462:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USE_USBD_COMPOSITE */ 463:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 464:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass[0]->GetHSConfigDescriptor(&len); 465:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 466:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 467:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 468:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 469:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 470:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #ifdef USE_USBD_COMPOSITE 471:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((uint8_t)(pdev->NumClasses) > 0U) 472:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 473:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)USBD_CMPSIT.GetFSConfigDescriptor(&len); 474:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 475:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 476:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USE_USBD_COMPOSITE */ 477:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 478:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass[0]->GetFSConfigDescriptor(&len); 479:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 480:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 481:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 482:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; ARM GAS /tmp/ccJhhmLc.s page 391 483:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 484:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_STRING: 485:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch ((uint8_t)(req->wValue)) 486:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 487:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_LANGID_STR: 488:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pDesc->GetLangIDStrDescriptor != NULL) 489:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 490:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len); 491:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 492:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 493:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 494:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 495:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 496:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 497:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 498:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 499:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_MFC_STR: 500:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pDesc->GetManufacturerStrDescriptor != NULL) 501:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 502:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len); 503:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 504:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 505:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 506:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 507:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 508:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 509:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 510:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 511:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_PRODUCT_STR: 512:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pDesc->GetProductStrDescriptor != NULL) 513:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 514:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len); 515:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 516:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 517:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 518:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 519:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 520:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 521:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 522:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 523:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_SERIAL_STR: 524:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pDesc->GetSerialStrDescriptor != NULL) 525:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 526:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len); 527:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 528:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 529:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 530:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 531:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 532:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 533:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 534:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 535:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_CONFIG_STR: 536:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pDesc->GetConfigurationStrDescriptor != NULL) 537:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 538:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len); 539:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } ARM GAS /tmp/ccJhhmLc.s page 392 540:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 541:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 542:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 543:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 544:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 545:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 546:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 547:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_INTERFACE_STR: 548:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pDesc->GetInterfaceStrDescriptor != NULL) 549:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 550:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len); 551:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 552:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 553:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 554:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 555:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 556:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 557:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 558:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 559:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 560:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if (USBD_SUPPORT_USER_STRING_DESC == 1U) 561:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = NULL; 562:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 563:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** for (uint32_t idx = 0U; (idx < pdev->NumClasses); idx++) 564:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 565:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pClass[idx]->GetUsrStrDescriptor != NULL) 566:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 567:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->classId = idx; 568:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pClass[idx]->GetUsrStrDescriptor(pdev, LOBYTE(req->wValue), &len); 569:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 570:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pbuf == NULL) /* This means that no class recognized the string index */ 571:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 572:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** continue; 573:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 574:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 575:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 576:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 577:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 578:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 579:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 580:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USBD_SUPPORT_USER_STRING_DESC */ 581:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 582:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if (USBD_CLASS_USER_STRING_DESC == 1U) 583:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->pDesc->GetUserStrDescriptor != NULL) 584:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 585:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetUserStrDescriptor(pdev->dev_speed, LOBYTE(req->wValue), &len); 586:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 587:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 588:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 589:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 590:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 591:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 592:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USBD_SUPPORT_USER_STRING_DESC */ 593:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 594:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if ((USBD_CLASS_USER_STRING_DESC == 0U) && (USBD_SUPPORT_USER_STRING_DESC == 0U)) 595:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 596:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; ARM GAS /tmp/ccJhhmLc.s page 393 597:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* (USBD_CLASS_USER_STRING_DESC == 0U) && (USBD_SUPPORT_USER_STRING_DESC == 0U) */ 598:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 599:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 600:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 601:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 602:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_DEVICE_QUALIFIER: 603:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 604:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 605:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #ifdef USE_USBD_COMPOSITE 606:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((uint8_t)(pdev->NumClasses) > 0U) 607:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 608:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)USBD_CMPSIT.GetDeviceQualifierDescriptor(&len); 609:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 610:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 611:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USE_USBD_COMPOSITE */ 612:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 613:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass[0]->GetDeviceQualifierDescriptor(&len); 614:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 615:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 616:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 617:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 618:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 619:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 620:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 621:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 622:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 623:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION: 624:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_speed == USBD_SPEED_HIGH) 625:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 626:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #ifdef USE_USBD_COMPOSITE 627:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((uint8_t)(pdev->NumClasses) > 0U) 628:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 629:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)USBD_CMPSIT.GetOtherSpeedConfigDescriptor(&len); 630:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 631:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 632:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USE_USBD_COMPOSITE */ 633:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 634:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass[0]->GetOtherSpeedConfigDescriptor(&len); 635:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 636:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION; 637:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 638:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 639:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 640:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 641:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 642:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 643:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 644:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 645:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 646:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 647:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** err++; 648:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 649:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 650:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 651:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (err != 0U) 652:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 653:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return; ARM GAS /tmp/ccJhhmLc.s page 394 654:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 655:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 656:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wLength != 0U) 657:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 658:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (len != 0U) 659:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 660:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** len = MIN(len, req->wLength); 661:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendData(pdev, pbuf, len); 662:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 663:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 664:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 665:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 666:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 667:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 668:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 669:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 670:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 671:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 672:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 673:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 674:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 675:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 676:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetAddress 677:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Set device address 678:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 679:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 680:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 681:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 682:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetAddress(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 683:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 684:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t dev_addr; 685:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 686:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((req->wIndex == 0U) && (req->wLength == 0U) && (req->wValue < 128U)) 687:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 688:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** dev_addr = (uint8_t)(req->wValue) & 0x7FU; 689:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 690:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 691:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 692:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 693:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 694:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 695:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 696:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_address = dev_addr; 697:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_SetUSBAddress(pdev, dev_addr); 698:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 699:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 700:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (dev_addr != 0U) 701:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 702:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_ADDRESSED; 703:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 704:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 705:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 706:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_DEFAULT; 707:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 708:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 709:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 710:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else ARM GAS /tmp/ccJhhmLc.s page 395 711:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 712:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 713:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 714:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 715:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 716:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 717:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetConfig 718:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Set device configuration request 719:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 720:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 721:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status 722:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 723:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static USBD_StatusTypeDef USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 724:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 725:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK; 726:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t cfgidx; 727:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 728:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** cfgidx = (uint8_t)(req->wValue); 729:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 730:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx > USBD_MAX_NUM_CONFIGURATION) 731:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 732:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 733:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return USBD_FAIL; 734:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 735:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 736:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state) 737:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 738:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED: 739:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx != 0U) 740:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 741:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx; 742:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 743:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = USBD_SetClassConfig(pdev, cfgidx); 744:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 745:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (ret != USBD_OK) 746:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 747:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 748:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_ADDRESSED; 749:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 750:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 751:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 752:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 753:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_CONFIGURED; 754:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 755:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if (USBD_USER_REGISTER_CALLBACK == 1U) 756:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->DevStateCallback != NULL) 757:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 758:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->DevStateCallback(USBD_STATE_CONFIGURED, cfgidx); 759:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 760:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USBD_USER_REGISTER_CALLBACK */ 761:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 762:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 763:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 764:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 765:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 766:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 767:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; ARM GAS /tmp/ccJhhmLc.s page 396 768:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 769:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED: 770:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx == 0U) 771:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 772:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_ADDRESSED; 773:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx; 774:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_ClrClassConfig(pdev, cfgidx); 775:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 776:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 777:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else if (cfgidx != pdev->dev_config) 778:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 779:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Clear old configuration */ 780:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 781:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 782:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* set new configuration */ 783:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx; 784:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 785:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = USBD_SetClassConfig(pdev, cfgidx); 786:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 787:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (ret != USBD_OK) 788:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 789:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 790:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 791:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_ADDRESSED; 792:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 793:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 794:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 795:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 796:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 797:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 798:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 799:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 800:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 801:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 802:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 803:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 804:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 805:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 806:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_ClrClassConfig(pdev, cfgidx); 807:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ret = USBD_FAIL; 808:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 809:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 810:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 811:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return ret; 812:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 813:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 814:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 815:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetConfig 816:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get device configuration request 817:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 818:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 819:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 820:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 821:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 822:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 823:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wLength != 1U) 824:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { ARM GAS /tmp/ccJhhmLc.s page 397 825:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 826:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 827:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 828:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 829:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state) 830:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 831:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_DEFAULT: 832:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED: 833:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_default_config = 0U; 834:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_default_config, 1U); 835:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 836:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 837:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED: 838:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config, 1U); 839:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 840:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 841:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 842:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 843:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 844:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 845:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 846:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 847:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 848:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 849:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetStatus 850:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get Status request 851:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 852:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 853:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 854:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 855:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 856:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 857:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state) 858:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 859:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_DEFAULT: 860:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED: 861:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED: 862:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wLength != 0x2U) 863:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 864:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 865:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 866:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 867:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 868:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if (USBD_SELF_POWERED == 1U) 869:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status = USB_CONFIG_SELF_POWERED; 870:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #else 871:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status = 0U; 872:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif /* USBD_SELF_POWERED */ 873:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 874:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_remote_wakeup != 0U) 875:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 876:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP; 877:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 878:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 879:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config_status, 2U); 880:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 881:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ARM GAS /tmp/ccJhhmLc.s page 398 882:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 883:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 884:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 885:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 886:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 887:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 888:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 889:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 890:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetFeature 891:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Set device feature request 892:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 893:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 894:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 895:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 896:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 897:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 898:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 899:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 900:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_remote_wakeup = 1U; 901:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 902:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 903:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else if (req->wValue == USB_FEATURE_TEST_MODE) 904:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 905:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_test_mode = (uint8_t)(req->wIndex >> 8); 906:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 907:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 908:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else 909:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 910:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 911:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 912:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 913:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 914:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 915:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 916:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_ClrFeature 917:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle clear device feature request 918:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 919:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 920:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 921:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 922:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_ClrFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 923:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 924:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state) 925:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 926:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_DEFAULT: 927:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED: 928:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED: 929:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 930:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 931:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_remote_wakeup = 0U; 932:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_CtlSendStatus(pdev); 933:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 934:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; 935:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 936:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default: 937:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev, req); 938:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break; ARM GAS /tmp/ccJhhmLc.s page 399 939:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 940:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 941:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 942:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 943:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 944:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_ParseSetupRequest 945:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Copy buffer into setup structure 946:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 947:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdata: setup data pointer 948:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 949:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 950:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata) 951:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 952:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t *pbuff = pdata; 953:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 954:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bmRequest = *(uint8_t *)(pbuff); 955:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 956:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuff++; 957:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bRequest = *(uint8_t *)(pbuff); 958:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 959:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuff++; 960:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wValue = SWAPBYTE(pbuff); 961:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 962:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuff++; 963:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuff++; 964:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wIndex = SWAPBYTE(pbuff); 965:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 966:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuff++; 967:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuff++; 968:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wLength = SWAPBYTE(pbuff); 969:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 970:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 971:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 972:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 973:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_CtlError 974:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle USB low level Error 975:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance 976:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request 977:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 978:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ 979:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) 980:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 981:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** UNUSED(req); 982:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 983:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, 0x80U); 984:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, 0U); 985:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 986:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 987:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 988:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 989:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetString 990:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Convert Ascii string into unicode one 991:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param desc : descriptor buffer 992:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param unicode : Formatted string buffer (unicode) 993:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param len : descriptor length 994:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None 995:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ ARM GAS /tmp/ccJhhmLc.s page 400 996:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len) 6374 .loc 12 996 6 is_stmt 1 view -0 6375 .cfi_startproc 6376 @ args = 0, pretend = 0, frame = 0 6377 @ frame_needed = 0, uses_anonymous_args = 0 6378 .loc 12 996 6 is_stmt 0 view .LVU1713 6379 0000 38B5 push {r3, r4, r5, lr} @ 6380 .LCFI37: 6381 .cfi_def_cfa_offset 16 6382 .cfi_offset 3, -16 6383 .cfi_offset 4, -12 6384 .cfi_offset 5, -8 6385 .cfi_offset 14, -4 6386 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:996: void 6387 .loc 12 996 6 is_stmt 1 view .LVU1714 6388 0002 0446 mov r4, r0 @ desc, tmp157 6389 .LVL304: 6390 .loc 12 996 6 is_stmt 0 view .LVU1715 6391 0004 0D46 mov r5, r1 @ len, tmp158 6392 .LBB482: 6393 .LBB483: 6394 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1037: w 997:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 998:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t idx = 0U; 999:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t *pdesc; 1000:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1001:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (desc == NULL) 1002:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 1003:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return; 1004:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 1005:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1006:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdesc = desc; 1007:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *len = MIN(USBD_MAX_STR_DESC_SIZ, ((uint16_t)USBD_GetLen(pdesc) * 2U) + 2U); 1008:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1009:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx] = *(uint8_t *)len; 1010:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 1011:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx] = USB_DESC_TYPE_STRING; 1012:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 1013:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1014:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** while (*pdesc != (uint8_t)'\0') 1015:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 1016:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx] = *pdesc; 1017:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdesc++; 1018:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 1019:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1020:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx] = 0U; 1021:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 1022:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 1023:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 1024:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1025:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1026:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** 1027:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetLen 1028:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * return the string length 1029:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param buf : pointer to the ascii string buffer 1030:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval string length 1031:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */ ARM GAS /tmp/ccJhhmLc.s page 401 1032:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t USBD_GetLen(uint8_t *buf) 1033:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 1034:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t len = 0U; 1035:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t *pbuff = buf; 1036:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1037:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** while (*pbuff != (uint8_t)'\0') 6395 .loc 12 1037 10 is_stmt 1 view .LVU1716 6396 0006 FFF7FEFF bl strlen @ 6397 .LVL305: 6398 .loc 12 1037 10 is_stmt 0 view .LVU1717 6399 .LBE483: 6400 .LBE482: 6401 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1007: * 1007:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 6402 .loc 12 1007 10 is_stmt 1 discriminator 1 view .LVU1718 6403 000a C0B2 uxtb r0, r0 @ _15, tmp159 6404 000c 0130 adds r0, r0, #1 @ _4, _15, 6405 000e 4300 lsls r3, r0, #1 @ _5, _4, 6406 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1007: * 1007:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 6407 .loc 12 1007 8 discriminator 1 view .LVU1719 6408 0010 3128 cmp r0, #49 @ _4, 6409 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1009: u 1009:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 6410 .loc 12 1009 16 view .LVU1720 6411 0012 0B4A ldr r2, .L507 @ tmp139, 6412 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1007: * 1007:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 6413 .loc 12 1007 8 discriminator 1 view .LVU1721 6414 0014 94BF ite ls 6415 0016 9BB2 uxthls r3, r3 @ _8, _5 6416 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1007: * 1007:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 6417 .loc 12 1007 8 is_stmt 0 discriminator 2 view .LVU1722 6418 0018 6223 movhi r3, #98 @ _8, 6419 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1007: * 1007:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 6420 .loc 12 1007 8 discriminator 4 view .LVU1723 6421 001a 2B80 strh r3, [r5] @ movhi @ _8, *len_9(D) 6422 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1009: u 1009:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 6423 .loc 12 1009 16 is_stmt 1 view .LVU1724 6424 001c 1370 strb r3, [r2] @ _8, MEM[(uint8_t *)&USBD_StrDesc] 6425 .LVL306: 6426 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1011: u 1011:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 6427 .loc 12 1011 16 view .LVU1725 6428 001e 0323 movs r3, #3 @ tmp142, 6429 0020 5370 strb r3, [r2, #1] @ tmp142, MEM[(uint8_t *)&USBD_StrDesc + 1B] 6430 .LVL307: 1011:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 6431 .loc 12 1011 16 is_stmt 0 view .LVU1726 6432 0022 601E subs r0, r4, #1 @ ivtmp.98, desc, 6433 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1012: i 1012:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 6434 .loc 12 1012 6 is_stmt 1 view .LVU1727 6435 0024 0223 movs r3, #2 @ idx, ARM GAS /tmp/ccJhhmLc.s page 402 6436 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1020: 1020:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 6437 .loc 12 1020 18 view .LVU1728 6438 0026 0024 movs r4, #0 @ tmp156, 6439 .LVL308: 6440 .L504: 6441 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1014: w 1014:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 6442 .loc 12 1014 10 view .LVU1729 6443 0028 10F8011F ldrb r1, [r0, #1]! @ zero_extendqisi2 @ _14, MEM[(uint8_t *)_29] 6444 .LVL309: 6445 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1014: w 1014:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 6446 .loc 12 1014 17 view .LVU1730 6447 002c 01B9 cbnz r1, .L505 @ _14, 6448 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1023: } 1023:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 6449 .loc 12 1023 1 view .LVU1731 6450 002e 38BD pop {r3, r4, r5, pc} @ 6451 .LVL310: 6452 .L505: 6453 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1016: 1016:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdesc++; 6454 .loc 12 1016 18 view .LVU1732 6455 0030 D154 strb r1, [r2, r3] @ _14, *_13 6456 .LVL311: 6457 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1018: 1018:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 6458 .loc 12 1018 8 view .LVU1733 6459 0032 591C adds r1, r3, #1 @ tmp147, idx, 6460 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1020: 1020:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 6461 .loc 12 1020 12 view .LVU1734 6462 0034 C9B2 uxtb r1, r1 @ _18, tmp147 6463 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1021: 1021:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 6464 .loc 12 1021 8 view .LVU1735 6465 0036 0233 adds r3, r3, #2 @ tmp153, idx, 6466 .LVL312: 6467 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1020: 1020:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** idx++; 6468 .loc 12 1020 18 view .LVU1736 6469 0038 5454 strb r4, [r2, r1] @ tmp156, *_19 6470 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:1021: 1021:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 6471 .loc 12 1021 8 view .LVU1737 6472 003a DBB2 uxtb r3, r3 @ idx, tmp153 6473 003c F4E7 b .L504 @ 6474 .L508: 6475 003e 00BF .align 2 6476 .L507: 6477 0040 00000000 .word USBD_StrDesc 6478 .cfi_endproc 6479 .LFE72: 6480 .size USBD_GetString.part.0.constprop.0, .-USBD_GetString.part.0.constprop.0 6481 .section .text.USBD_LL_Start.constprop.0,"ax",%progbits 6482 .align 1 ARM GAS /tmp/ccJhhmLc.s page 403 6483 .global USBD_LL_Start.constprop.0 6484 .hidden USBD_LL_Start.constprop.0 6485 .syntax unified 6486 .thumb 6487 .thumb_func 6488 .type USBD_LL_Start.constprop.0, %function 6489 USBD_LL_Start.constprop.0: 6490 .LFB75: 6491 .file 13 "/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c" 1:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE BEGIN Header */ 2:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 3:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** ****************************************************************************** 4:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @file : Target/usbd_conf.c 5:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @version : v1.0_Cube 6:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief : This file implements the board support package for the USB device library 7:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** ****************************************************************************** 8:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @attention 9:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * 10:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * Copyright (c) 2023 STMicroelectronics. 11:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * All rights reserved. 12:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * 13:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * This software is licensed under terms that can be found in the LICENSE file 14:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * in the root directory of this software component. 15:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 16:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * 17:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** ****************************************************************************** 18:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 19:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE END Header */ 20:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 21:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Includes ------------------------------------------------------------------*/ 22:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 23:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #include "stm32_cmsis.h" 24:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #include "stm32_hal.h" 26:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #include "stm32_hal_ll.h" 27:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 28:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #include "hal.h" 29:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #include "usbd_def.h" 30:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #include "usbd_core.h" 31:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 32:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #include "usbd_msc.h" 33:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 34:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE BEGIN Includes */ 35:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 36:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE END Includes */ 37:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 38:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Private typedef -----------------------------------------------------------*/ 39:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Private define ------------------------------------------------------------*/ 40:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Private macro -------------------------------------------------------------*/ 41:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 42:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE BEGIN PV */ 43:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Private variables ---------------------------------------------------------*/ 44:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 45:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE END PV */ 46:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 47:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** PCD_HandleTypeDef hpcd_USB_OTG; 48:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void Error_Handler(void){} ARM GAS /tmp/ccJhhmLc.s page 404 49:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* External functions --------------------------------------------------------*/ 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 52:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE BEGIN 0 */ 53:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE END 0 */ 55:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE BEGIN PFP */ 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Private function prototypes -----------------------------------------------*/ 58:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status); 59:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 60:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE END PFP */ 61:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 62:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Private functions ---------------------------------------------------------*/ 63:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 64:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE BEGIN 1 */ 65:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 66:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE END 1 */ 67:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 68:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /******************************************************************************* 69:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** LL Driver Callbacks (PCD -> USB Device Library) 70:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** *******************************************************************************/ 71:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* MSP Init */ 72:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 73:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) 74:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 75:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(USE_USB_HS) 76:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if(pcdHandle->Instance==USB_OTG_HS) 77:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 78:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(STM32H7) || defined(STM32H7RS) 79:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Enable USB Voltage detector & HS regulator */ 80:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PWREx_EnableUSBVoltageDetector(); 81:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PWREx_EnableUSBHSregulator(); 82:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 83:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 84:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Peripheral clock enable */ 85:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); 86:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(STM32H7) || defined(STM32H7RS) 87:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** __HAL_RCC_USBPHYC_CLK_ENABLE(); 88:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 89:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 90:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Peripheral interrupt init */ 91:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** NVIC_SetPriority(OTG_HS_IRQn, 11); 92:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** NVIC_EnableIRQ(OTG_HS_IRQn); 93:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 94:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 95:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if(pcdHandle->Instance==USB_OTG_FS) 96:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 97:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(STM32H7) || defined(STM32H7RS) 98:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Enable USB Voltage detector */ 99:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PWREx_EnableUSBVoltageDetector(); 100:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 101:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 102:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Peripheral clock enable */ 103:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** __HAL_RCC_USB_OTG_FS_CLK_ENABLE(); 104:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 105:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Peripheral interrupt init */ ARM GAS /tmp/ccJhhmLc.s page 405 106:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** NVIC_SetPriority(OTG_FS_IRQn, 11); 107:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** NVIC_EnableIRQ(OTG_FS_IRQn); 108:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 109:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 110:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 111:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * Disable DP pull-up for 50ms 112:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * to force re-enumeration 113:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 114:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCD_DevDisconnect(pcdHandle); 115:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_Delay(50); 116:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCD_DevConnect(pcdHandle); 117:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 118:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 119:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_MspDeInit(PCD_HandleTypeDef* pcdHandle) 120:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 121:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(USE_USB_HS) 122:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if(pcdHandle->Instance==USB_OTG_HS) 123:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 124:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Peripheral clock disable */ 125:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** __HAL_RCC_USB_OTG_HS_CLK_DISABLE(); 126:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(STM32H7) || defined(STM32H7RS) 127:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** __HAL_RCC_USBPHYC_CLK_DISABLE(); 128:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 129:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 130:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Peripheral interrupt Deinit*/ 131:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** NVIC_DisableIRQ(OTG_HS_IRQn); 132:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 133:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 134:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if(pcdHandle->Instance==USB_OTG_FS) 135:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 136:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Peripheral clock disable */ 137:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** __HAL_RCC_USB_OTG_FS_CLK_DISABLE(); 138:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 139:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Peripheral interrupt Deinit*/ 140:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** NVIC_DisableIRQ(OTG_FS_IRQn); 141:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 142:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 143:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 144:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 145:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 146:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Setup stage callback 147:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 148:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 149:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 150:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 151:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) 152:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 153:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) 154:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 155:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 156:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup); 157:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 158:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 159:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 160:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Data Out stage callback. 161:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 162:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param epnum: Endpoint number ARM GAS /tmp/ccJhhmLc.s page 406 163:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 164:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 165:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 166:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 167:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 168:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 169:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 170:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 171:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff); 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 173:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 174:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 175:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Data In stage callback. 176:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 177:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param epnum: Endpoint number 178:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 179:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 180:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 181:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 182:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 183:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 184:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 185:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 186:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff); 187:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 188:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 189:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 190:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief SOF callback. 191:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 192:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 193:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 194:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 195:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_SOFCallback(PCD_HandleTypeDef *hpcd) 196:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 197:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) 198:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 199:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 200:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData); 201:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 202:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 203:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 204:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Reset callback. 205:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 206:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 207:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 208:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 209:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_ResetCallback(PCD_HandleTypeDef *hpcd) 210:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 211:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) 212:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 213:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 214:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_SpeedTypeDef speed = USBD_SPEED_FULL; 215:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 216:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if ( hpcd->Init.speed == PCD_SPEED_HIGH) 217:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 218:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** speed = USBD_SPEED_HIGH; 219:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } ARM GAS /tmp/ccJhhmLc.s page 407 220:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** else if ( hpcd->Init.speed == PCD_SPEED_FULL) 221:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 222:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** speed = USBD_SPEED_FULL; 223:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 224:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** else 225:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 226:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** Error_Handler(); 227:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 228:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Set Speed. */ 229:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed); 230:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 231:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Reset Device. */ 232:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData); 233:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 234:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 235:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 236:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Suspend callback. 237:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it) 238:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 239:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 240:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 241:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 242:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) 243:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 244:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) 245:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 246:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 247:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Inform USB library that core enters in suspend Mode. */ 248:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData); 249:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** __HAL_PCD_GATE_PHYCLOCK(hpcd); 250:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Enter in STOP mode. */ 251:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE BEGIN 2 */ 252:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if (hpcd->Init.low_power_enable) 253:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 254:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */ 255:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 256:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 257:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE END 2 */ 258:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 259:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 260:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 261:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Resume callback. 262:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it) 263:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 264:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 265:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 266:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 267:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) 268:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 269:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) 270:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 271:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 272:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE BEGIN 3 */ 273:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 274:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* USER CODE END 3 */ 275:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData); 276:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } ARM GAS /tmp/ccJhhmLc.s page 408 277:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 278:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 279:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief ISOOUTIncomplete callback. 280:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 281:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param epnum: Endpoint number 282:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 283:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 284:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 285:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 286:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 287:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 288:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 289:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 290:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 291:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 292:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 293:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 294:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief ISOINIncomplete callback. 295:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 296:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param epnum: Endpoint number 297:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 298:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 299:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 300:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 301:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 302:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 303:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 304:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 305:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 306:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 307:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 308:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 309:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Connect callback. 310:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 311:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 312:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 313:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 314:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) 315:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 316:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) 317:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 318:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 319:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData); 320:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 321:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 322:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 323:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Disconnect callback. 324:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param hpcd: PCD handle 325:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval None 326:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 327:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 328:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** static void PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) 329:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 330:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) 331:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 332:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 333:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData); ARM GAS /tmp/ccJhhmLc.s page 409 334:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 335:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 336:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /******************************************************************************* 337:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** LL Driver Interface (USB Device Library --> PCD) 338:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** *******************************************************************************/ 339:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 340:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 341:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Initializes the low level portion of the device driver. 342:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 343:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 344:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 345:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev) 346:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 347:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Init USB Ip. */ 348:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(USE_USB_HS) 349:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if (pdev->id == DEVICE_HS) { 350:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Link the driver to the stack. */ 351:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.pData = pdev; 352:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** pdev->pData = &hpcd_USB_OTG; 353:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 354:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Instance = USB_OTG_HS; 355:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.dev_endpoints = 9; 356:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.speed = PCD_SPEED_HIGH; 357:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.phy_itface = USB_OTG_HS_EMBEDDED_PHY; 358:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.dma_enable = DISABLE; 359:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.Sof_enable = DISABLE; 360:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.low_power_enable = DISABLE; 361:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.lpm_enable = DISABLE; 362:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.use_dedicated_ep1 = DISABLE; 363:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.vbus_sensing_enable = DISABLE; 364:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if (HAL_PCD_Init(&hpcd_USB_OTG) != HAL_OK) 365:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 366:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** Error_Handler(); 367:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 368:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCDEx_SetRxFiFo(&hpcd_USB_OTG, 0x200); 369:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG, 0, 0x40); 370:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG, 1, 0x100); 371:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 372:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 373:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if (pdev->id == DEVICE_FS) { 374:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /* Link the driver to the stack. */ 375:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.pData = pdev; 376:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** pdev->pData = &hpcd_USB_OTG; 377:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 378:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Instance = USB_OTG_FS; 379:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.dev_endpoints = 4; 380:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.speed = PCD_SPEED_FULL; 381:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.dma_enable = DISABLE; 382:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.phy_itface = PCD_PHY_EMBEDDED; 383:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(STM32H7) 384:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.battery_charging_enable = DISABLE; 385:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.use_external_vbus = ENABLE; 386:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 387:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 388:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.Sof_enable = ENABLE; 389:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.low_power_enable = DISABLE; 390:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.lpm_enable = DISABLE; ARM GAS /tmp/ccJhhmLc.s page 410 391:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(VBUS_SENSING_ENABLED) 392:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.vbus_sensing_enable = ENABLE; 393:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #else 394:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.vbus_sensing_enable = DISABLE; 395:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 396:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.use_dedicated_ep1 = DISABLE; 397:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if (HAL_PCD_Init(&hpcd_USB_OTG) != HAL_OK) 398:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 399:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** Error_Handler( ); 400:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 401:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCDEx_SetRxFiFo(&hpcd_USB_OTG, 0x80); 402:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG, 0, 0x40); 403:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG, 1, 0x80); 404:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 405:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return USBD_OK; 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 408:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 410:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief De-Initializes the low level portion of the device driver. 411:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 412:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 413:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 414:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev) 415:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 416:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 417:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 418:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 419:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_DeInit(pdev->pData); 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 421:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 422:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 423:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 424:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 425:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 426:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Starts the low level portion of the device driver. 428:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 429:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 430:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 431:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev) 6492 .loc 13 431 20 view -0 6493 .cfi_startproc 6494 @ args = 0, pretend = 0, frame = 0 6495 @ frame_needed = 0, uses_anonymous_args = 0 6496 .LVL313: 6497 .loc 13 431 20 is_stmt 0 view .LVU1739 6498 0000 08B5 push {r3, lr} @ 6499 .LCFI38: 6500 .cfi_def_cfa_offset 8 6501 .cfi_offset 3, -8 6502 .cfi_offset 14, -4 6503 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:436: hal_status = HAL_PCD_Sta 432:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 433:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 434:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 435:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** ARM GAS /tmp/ccJhhmLc.s page 411 436:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_Start(pdev->pData); 6504 .loc 13 436 34 is_stmt 1 view .LVU1740 6505 0002 124B ldr r3, .L516 @ tmp125, 6506 0004 D3F8C822 ldr r2, [r3, #712] @ _1, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pData 6507 .LVL314: 6508 .LBB488: 6509 .LBB489: 6510 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1005: __HA 6511 .file 14 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @file stm32f4xx_hal_pcd.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief PCD HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * This file provides firmware functions to manage the following 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * functionalities of the USB Peripheral Controller: 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * + Initialization and de-initialization functions 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * + IO operation functions 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * + Peripheral Control functions 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * + Peripheral State functions 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ============================================================================== 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### How to use this driver ##### 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ============================================================================== 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** The PCD HAL driver can be used as follows: 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#) Declare a PCD_HandleTypeDef handle structure, for example: 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_HandleTypeDef hpcd; 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#) Fill parameters of Init structure in HCD handle 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#) Call HAL_PCD_Init() API to initialize the PCD peripheral (Core, Device core, ...) 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#) Initialize the PCD low level resources through the HAL_PCD_MspInit() API: 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) Enable the PCD/USB Low Level interface clock using 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (+++) __HAL_RCC_USB_OTG_FS_CLK_ENABLE(); 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (+++) __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); (For High Speed Mode) 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) Initialize the related GPIO clocks 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) Configure PCD pin-out 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) Configure PCD NVIC interrupt 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#)Associate the Upper USB device stack to the HAL PCD Driver: 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) hpcd.pData = pdev; 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (#)Enable PCD transmission and reception: 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (##) HAL_PCD_Start(); 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ****************************************************************************** 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @attention 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** *

© Copyright (c) 2016 STMicroelectronics. 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * All rights reserved.

48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * ARM GAS /tmp/ccJhhmLc.s page 412 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * This software component is licensed by ST under BSD 3-Clause license, 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * the "License"; You may not use this file except in compliance with the 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * License. You may obtain a copy of the License at: 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * opensource.org/licenses/BSD-3-Clause 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ****************************************************************************** 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Includes ------------------------------------------------------------------*/ 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #include "stm32f4xx_hal.h" 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @addtogroup STM32F4xx_HAL_Driver 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD PCD 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief PCD HAL module driver 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #ifdef HAL_PCD_MODULE_ENABLED 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private types -------------------------------------------------------------*/ 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private variables ---------------------------------------------------------*/ 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private constants ---------------------------------------------------------*/ 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private macros ------------------------------------------------------------*/ 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Private_Macros PCD Private Macros 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #define PCD_MIN(a, b) (((a) < (b)) ? (a) : (b)) 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #define PCD_MAX(a, b) (((a) > (b)) ? (a) : (b)) 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Private functions prototypes ----------------------------------------------*/ 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Private_Functions PCD Private Functions 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum); 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum); 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum); 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Exported functions --------------------------------------------------------*/ 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions PCD Exported Functions 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Initialization and Configuration functions ARM GAS /tmp/ccJhhmLc.s page 413 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### Initialization and de-initialization functions ##### 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] This section provides functions allowing to: 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Initializes the PCD according to the specified 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * parameters in the PCD_InitTypeDef and initialize the associated handle. 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd) 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx; 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint8_t i; 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Check the PCD handle allocation */ 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd == NULL) 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Check the parameters */ 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx = hpcd->Instance; 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_RESET) 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Allocate lock resource and initialize it */ 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Lock = HAL_UNLOCKED; 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SOFCallback = HAL_PCD_SOFCallback; 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback; 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResetCallback = HAL_PCD_ResetCallback; 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback = HAL_PCD_SuspendCallback; 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResumeCallback = HAL_PCD_ResumeCallback; 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ConnectCallback = HAL_PCD_ConnectCallback; 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback; 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback = HAL_PCDEx_LPM_Callback; 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->BCDCallback = HAL_PCDEx_BCD_Callback; 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->MspInitCallback == NULL) 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccJhhmLc.s page 414 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init the low level hardware */ 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback(hpcd); 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */ 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_MspInit(hpcd); 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_BUSY; 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Disable DMA mode for FS instance */ 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((USBx->CID & (0x1U << 8)) == 0U) 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Init.dma_enable = 0U; 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Disable the Interrupts */ 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /*Init the Core (common init.) */ 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK) 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_ERROR; 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Force Device Mode*/ 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_SetCurrentMode(hpcd->Instance, USB_DEVICE_MODE); 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init endpoints structures */ 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init ep structure */ 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].is_in = 1U; 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i; 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].type = EP_TYPE_CTRL; 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_buff = 0U; 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U; 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].is_in = 0U; 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].type = EP_TYPE_CTRL; 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U; 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_buff = 0U; 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U; 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Init Device */ 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK) ARM GAS /tmp/ccJhhmLc.s page 415 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_ERROR; 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = 0U; 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY; 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Activate LPM */ 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.lpm_enable == 1U) 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)HAL_PCDEx_ActivateLPM(hpcd); 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief DeInitializes the PCD peripheral. 241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd) 245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Check the PCD handle allocation */ 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd == NULL) 248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_BUSY; 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Stop Device */ 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_StopDevice(hpcd->Instance) != HAL_OK) 256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->MspDeInitCallback == NULL) 262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; /* Legacy weak MspDeInit */ 264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* DeInit the low level hardware */ 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback(hpcd); 268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* DeInit the low level hardware: CLOCK, NVIC.*/ 270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_MspDeInit(hpcd); 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_RESET; 274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccJhhmLc.s page 416 277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Initializes the PCD MSP. 280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd) 284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_MspInit could be implemented in the user file 290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief DeInitializes PCD MSP. 295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd) 299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_MspDeInit could be implemented in the user file 305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register a User USB PCD Callback 311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak predefined callback 312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd USB PCD handle 313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param CallbackID ID of the callback to be registered 314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * This parameter can be one of the following values: 315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID 316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID 317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID 318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID 319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID 320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID 321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_DISCONNECT_CB_ID OTG PCD Disconnect callback ID 322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID 323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID 324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the Callback function 325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterCallback(PCD_HandleTypeDef *hpcd, 328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_CallbackIDTypeDef CallbackID, 329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_CallbackTypeDef pCallback) 330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) ARM GAS /tmp/ccJhhmLc.s page 417 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (CallbackID) 345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SOF_CB_ID : 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SOFCallback = pCallback; 348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SETUPSTAGE_CB_ID : 351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SetupStageCallback = pCallback; 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_RESET_CB_ID : 355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResetCallback = pCallback; 356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SUSPEND_CB_ID : 359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback = pCallback; 360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_RESUME_CB_ID : 363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResumeCallback = pCallback; 364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_CONNECT_CB_ID : 367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ConnectCallback = pCallback; 368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_DISCONNECT_CB_ID : 371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DisconnectCallback = pCallback; 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = pCallback; 376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = pCallback; 380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default : 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else if (hpcd->State == HAL_PCD_STATE_RESET) ARM GAS /tmp/ccJhhmLc.s page 418 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (CallbackID) 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = pCallback; 396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = pCallback; 400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default : 403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister an USB PCD Callback 425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD callabck is redirected to the weak predefined callback 426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd USB PCD handle 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param CallbackID ID of the callback to be unregistered 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * This parameter can be one of the following values: 429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID 430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID 432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID 433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_DISCONNECT_CB_ID OTG PCD Disconnect callback ID 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Cal 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Setup Legacy weak Callbacks */ ARM GAS /tmp/ccJhhmLc.s page 419 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (CallbackID) 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SOF_CB_ID : 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SOFCallback = HAL_PCD_SOFCallback; 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SETUPSTAGE_CB_ID : 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback; 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_RESET_CB_ID : 461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResetCallback = HAL_PCD_ResetCallback; 462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_SUSPEND_CB_ID : 465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback = HAL_PCD_SuspendCallback; 466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_RESUME_CB_ID : 469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResumeCallback = HAL_PCD_ResumeCallback; 470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_CONNECT_CB_ID : 473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ConnectCallback = HAL_PCD_ConnectCallback; 474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_DISCONNECT_CB_ID : 477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback; 478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; 486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default : 489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else if (hpcd->State == HAL_PCD_STATE_RESET) 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** switch (CallbackID) 500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID : 502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit; 503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccJhhmLc.s page 420 505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID : 506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** default : 510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** break; 516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD Data OUT Stage Callback 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_DataOutStageCallback() predefined callback 535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Data OUT Stage Callback function 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd, 540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_DataOutStageCallbackTypeDef pCallback) 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback = pCallback; 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ ARM GAS /tmp/ccJhhmLc.s page 421 562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD Data OUT Stage Callback 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataOutStageCallback( 577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd) 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; /* Legacy weak DataOutStageCallback 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD Data IN Stage Callback 608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_DataInStageCallback() predefined callback 609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Data IN Stage Callback function 611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataInStageCallback(PCD_HandleTypeDef *hpcd, 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_DataInStageCallbackTypeDef pCallback) 615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) ARM GAS /tmp/ccJhhmLc.s page 422 619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataInStageCallback = pCallback; 632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD Data IN Stage Callback 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataInStageCallback() 651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataInStageCallback(PCD_HandleTypeDef *hpcd) 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; /* Legacy weak DataInStageCallback */ 664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); ARM GAS /tmp/ccJhhmLc.s page 423 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD Iso OUT incomplete Callback 682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_ISOOUTIncompleteCallback() predefined callback 683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Iso OUT incomplete Callback function 685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd, 688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_IsoOutIncpltCallbackTypeDef pCallback) 689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = pCallback; 706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD Iso OUT incomplete Callback 724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD Iso OUT incomplete Callback is redirected 725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * to the weak HAL_PCD_ISOOUTIncompleteCallback() predefined callback 726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd) 730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccJhhmLc.s page 424 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; /* Legacy weak ISOOUTIncompl 739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD Iso IN incomplete Callback 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_ISOINIncompleteCallback() predefined callback 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Iso IN incomplete Callback function 760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd, 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** pPCD_IsoInIncpltCallbackTypeDef pCallback) 764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = pCallback; 781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccJhhmLc.s page 425 790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD Iso IN incomplete Callback 799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB PCD Iso IN incomplete Callback is redirected 800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * to the weak HAL_PCD_ISOINIncompleteCallback() predefined callback 801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd) 805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; /* Legacy weak ISOINIncomplete 814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD BCD Callback 832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCDEx_BCD_Callback() predefined callback 833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD BCD Callback function 835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterBcdCallback(PCD_HandleTypeDef *hpcd, pPCD_BcdCallbackTypeDef pCal 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; ARM GAS /tmp/ccJhhmLc.s page 426 847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->BCDCallback = pCallback; 855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD BCD Callback 873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB BCD Callback is redirected to the weak HAL_PCDEx_BCD_Callback() predefined callback 874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterBcdCallback(PCD_HandleTypeDef *hpcd) 878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->BCDCallback = HAL_PCDEx_BCD_Callback; /* Legacy weak HAL_PCDEx_BCD_Callback */ 887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** ARM GAS /tmp/ccJhhmLc.s page 427 904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Register USB PCD LPM Callback 905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * To be used instead of the weak HAL_PCDEx_LPM_Callback() predefined callback 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD LPM Callback function 908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterLpmCallback(PCD_HandleTypeDef *hpcd, pPCD_LpmCallbackTypeDef pCal 911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (pCallback == NULL) 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback = pCallback; 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Unregister the USB PCD LPM Callback 946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * USB LPM Callback is redirected to the weak HAL_PCDEx_LPM_Callback() predefined callback 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterLpmCallback(PCD_HandleTypeDef *hpcd) 951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK; 953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Process locked */ 955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY) 958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback = HAL_PCDEx_LPM_Callback; /* Legacy weak HAL_PCDEx_LPM_Callback */ 960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccJhhmLc.s page 428 961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Update the error code */ 964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK; 965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Return error status */ 967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** status = HAL_ERROR; 968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Release Lock */ 971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return status; 974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 977:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 978:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 979:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 980:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 981:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group2 Input and Output operation functions 982:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Data transfers functions 983:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 984:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 985:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 986:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### IO operation functions ##### 987:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 988:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] 989:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** This subsection provides a set of functions allowing to manage the PCD data 990:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** transfers. 991:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 992:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim 993:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 994:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 995:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 996:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 997:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Start the USB device 998:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 999:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1000:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1001:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) 1002:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1004:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 6512 .loc 14 1005 3 view .LVU1741 6513 0008 92F8BC33 ldrb r3, [r2, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_1].Lock, MEM[(struct PCD 6514 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1003: USB_ 1003:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6515 .loc 14 1003 26 view .LVU1742 6516 000c 1068 ldr r0, [r2] @ USBx, MEM[(struct PCD_HandleTypeDef *)_1].Instance 6517 .LVL315: 6518 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1005: __HA 6519 .loc 14 1005 3 view .LVU1743 6520 000e 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_1].Lock, 6521 0010 19D0 beq .L512 @, 6522 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1005: __HA ARM GAS /tmp/ccJhhmLc.s page 429 6523 .loc 14 1005 3 is_stmt 0 discriminator 2 view .LVU1744 6524 0012 0123 movs r3, #1 @ tmp127, 6525 0014 82F8BC33 strb r3, [r2, #956] @ tmp127, MEM[(struct PCD_HandleTypeDef *)_1].Lock 6526 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1007: if ( 1006:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1007:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((hpcd->Init.battery_charging_enable == 1U) && 6527 .loc 14 1007 6 is_stmt 1 view .LVU1745 6528 0018 936A ldr r3, [r2, #40] @ MEM[(struct PCD_HandleTypeDef *)_1].Init.battery_charging_enable, MEM[(struct 6529 001a 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_1].Init.battery_charging_enable, 6530 001c 06D1 bne .L511 @, 6531 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1007: if ( 6532 .loc 14 1007 50 discriminator 1 view .LVU1746 6533 001e 9369 ldr r3, [r2, #24] @ MEM[(struct PCD_HandleTypeDef *)_1].Init.phy_itface, MEM[(struct PCD_HandleTyp 6534 0020 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_1].Init.phy_itface, 6535 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1011: US 1008:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 1009:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1010:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Enable USB Transceiver */ 1011:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 6536 .loc 14 1011 9 view .LVU1747 6537 0022 1EBF ittt ne 6538 0024 836B ldrne r3, [r0, #56] @ _10, USBx_6->GCCFG 6539 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1011: US 6540 .loc 14 1011 17 view .LVU1748 6541 0026 43F48033 orrne r3, r3, #65536 @ _11, _10, 6542 002a 8363 strne r3, [r0, #56] @ _11, USBx_6->GCCFG 6543 .L511: 6544 .LVL316: 6545 .LBB490: 6546 .LBB491: 6547 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:224: USBx-> 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 6548 .loc 2 224 7 view .LVU1749 6549 002c 8368 ldr r3, [r0, #8] @ _14, USBx_6->GAHBCFG 6550 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:224: USBx-> 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 6551 .loc 2 224 17 view .LVU1750 6552 002e 43F00103 orr r3, r3, #1 @ _15, _14, 6553 0032 8360 str r3, [r0, #8] @ _15, USBx_6->GAHBCFG 6554 .LVL317: 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 6555 .loc 2 224 17 is_stmt 0 view .LVU1751 6556 .LBE491: 6557 .LBE490: 6558 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1015: (voi 1012:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1013:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1014:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_ENABLE(hpcd); 1015:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); 6559 .loc 14 1015 9 is_stmt 1 view .LVU1752 6560 0034 FFF7FEFF bl USB_DevConnect.isra.0 @ 6561 .LVL318: 6562 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1016: __HA 1016:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 6563 .loc 14 1016 3 view .LVU1753 6564 0038 0020 movs r0, #0 @ tmp131, 6565 .LVL319: ARM GAS /tmp/ccJhhmLc.s page 430 6566 .loc 14 1016 3 is_stmt 0 view .LVU1754 6567 003a 82F8BC03 strb r0, [r2, #956] @ tmp131, MEM[(struct PCD_HandleTypeDef *)_1].Lock 6568 .L510: 6569 .LVL320: 6570 .loc 14 1016 3 view .LVU1755 6571 .LBE489: 6572 .LBE488: 6573 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:441: } 437:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 439:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 440:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 441:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 6574 .loc 13 441 1 is_stmt 1 view .LVU1756 6575 003e BDE80840 pop {r3, lr} @ 6576 .LCFI39: 6577 .cfi_remember_state 6578 .cfi_restore 14 6579 .cfi_restore 3 6580 .cfi_def_cfa_offset 0 6581 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:438: usb_status = USBD_Get_U 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 6582 .loc 13 438 17 view .LVU1757 6583 0042 FFF7FEBF b USBD_Get_USB_Status @ 6584 .LVL321: 6585 .L512: 6586 .LCFI40: 6587 .cfi_restore_state 6588 .LBB493: 6589 .LBB492: 6590 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1005: __HA 1005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6591 .loc 14 1005 3 discriminator 1 view .LVU1758 6592 0046 0220 movs r0, #2 @ _13, 6593 .LVL322: 1005:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6594 .loc 14 1005 3 is_stmt 0 discriminator 1 view .LVU1759 6595 0048 F9E7 b .L510 @ 6596 .L517: 6597 004a 00BF .align 2 6598 .L516: 6599 004c 00000000 .word hUsbDevice 6600 .LBE492: 6601 .LBE493: 6602 .cfi_endproc 6603 .LFE75: 6604 .size USBD_LL_Start.constprop.0, .-USBD_LL_Start.constprop.0 6605 .section .text.USBD_LL_Init.part.0.constprop.0,"ax",%progbits 6606 .align 1 6607 .global USBD_LL_Init.part.0.constprop.0 6608 .hidden USBD_LL_Init.part.0.constprop.0 6609 .syntax unified 6610 .thumb 6611 .thumb_func 6612 .type USBD_LL_Init.part.0.constprop.0, %function 6613 USBD_LL_Init.part.0.constprop.0: 6614 .LFB80: ARM GAS /tmp/ccJhhmLc.s page 431 345:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 6615 .loc 13 345 20 is_stmt 1 view -0 6616 .cfi_startproc 6617 @ args = 0, pretend = 0, frame = 16 6618 @ frame_needed = 0, uses_anonymous_args = 0 6619 .LVL323: 345:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 6620 .loc 13 345 20 is_stmt 0 view .LVU1761 6621 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 6622 .LCFI41: 6623 .cfi_def_cfa_offset 36 6624 .cfi_offset 4, -36 6625 .cfi_offset 5, -32 6626 .cfi_offset 6, -28 6627 .cfi_offset 7, -24 6628 .cfi_offset 8, -20 6629 .cfi_offset 9, -16 6630 .cfi_offset 10, -12 6631 .cfi_offset 11, -8 6632 .cfi_offset 14, -4 6633 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:375: hpcd_USB_OTG.pData = p 375:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** pdev->pData = &hpcd_USB_OTG; 6634 .loc 13 375 24 is_stmt 1 view .LVU1762 6635 0004 5D4B ldr r3, .L573 @ tmp230, 6636 0006 5E4C ldr r4, .L573+4 @ tmp229, 6637 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:345: USBD_StatusTypeDef USBD_LL 345:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 6638 .loc 13 345 20 view .LVU1763 6639 0008 85B0 sub sp, sp, #20 @,, 6640 .LCFI42: 6641 .cfi_def_cfa_offset 56 6642 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:379: hpcd_USB_OTG.Init.dev_ 379:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.speed = PCD_SPEED_FULL; 6643 .loc 13 379 37 view .LVU1764 6644 000a 4FF0A040 mov r0, #1342177280 @ tmp234, 6645 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:375: hpcd_USB_OTG.pData = p 375:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** pdev->pData = &hpcd_USB_OTG; 6646 .loc 13 375 24 view .LVU1765 6647 000e C4F80434 str r3, [r4, #1028] @ tmp230, hpcd_USB_OTG.pData 6648 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:376: pdev->pData = &hpcd_US 376:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 6649 .loc 13 376 17 view .LVU1766 6650 0012 C3F8C842 str r4, [r3, #712] @ tmp229, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pData 6651 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:379: hpcd_USB_OTG.Init.dev_ 379:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.speed = PCD_SPEED_FULL; 6652 .loc 13 379 37 view .LVU1767 6653 0016 0423 movs r3, #4 @ tmp236, 6654 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:381: hpcd_USB_OTG.Init.dma_ 381:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.phy_itface = PCD_PHY_EMBEDDED; 6655 .loc 13 381 34 view .LVU1768 6656 0018 0222 movs r2, #2 @ tmp238, 6657 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:379: hpcd_USB_OTG.Init.dev_ 379:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.speed = PCD_SPEED_FULL; 6658 .loc 13 379 37 view .LVU1769 6659 001a C4E90003 strd r0, r3, [r4] @ tmp234, tmp236, tmp229 6660 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:388: hpcd_USB_OTG.Init.Sof_ 388:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.low_power_enable = DISABLE; ARM GAS /tmp/ccJhhmLc.s page 432 6661 .loc 13 388 34 view .LVU1770 6662 001e 0121 movs r1, #1 @ tmp244, 6663 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:381: hpcd_USB_OTG.Init.dma_ 381:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.phy_itface = PCD_PHY_EMBEDDED; 6664 .loc 13 381 34 view .LVU1771 6665 0020 0023 movs r3, #0 @ tmp240, 6666 0022 C4E90323 strd r2, r3, [r4, #12] @ tmp238, tmp240, tmp229, 6667 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:389: hpcd_USB_OTG.Init.low_ 389:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hpcd_USB_OTG.Init.lpm_enable = DISABLE; 6668 .loc 13 389 40 view .LVU1772 6669 0026 C4E90713 strd r1, r3, [r4, #28] @ tmp244, tmp240, tmp229, 6670 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:396: hpcd_USB_OTG.Init.use_ 396:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if (HAL_PCD_Init(&hpcd_USB_OTG) != HAL_OK) 6671 .loc 13 396 41 view .LVU1773 6672 002a C4E90B33 strd r3, r3, [r4, #44] @ tmp240, tmp240, tmp229, 6673 .LVL324: 6674 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:390: hpcd_USB_OTG.Init.lpm_ 390:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(VBUS_SENSING_ENABLED) 6675 .loc 13 390 34 view .LVU1774 6676 002e 6362 str r3, [r4, #36] @ tmp240, hpcd_USB_OTG.Init.lpm_enable 6677 .LBB544: 6678 .LBB545: 6679 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:139: if (h 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 6680 .loc 14 139 11 view .LVU1775 6681 0030 94F8BD33 ldrb r3, [r4, #957] @ zero_extendqisi2 @ hpcd_USB_OTG.State, hpcd_USB_OTG.State 6682 .LBE545: 6683 .LBE544: 6684 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:382: hpcd_USB_OTG.Init.phy_ 382:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #if defined(STM32H7) 6685 .loc 13 382 34 view .LVU1776 6686 0034 A261 str r2, [r4, #24] @ tmp238, hpcd_USB_OTG.Init.phy_itface 6687 .LBB585: 6688 .LBB583: 6689 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:139: if (h 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 6690 .loc 14 139 6 view .LVU1777 6691 0036 03F0FF05 and r5, r3, #255 @ _63, hpcd_USB_OTG.State, 6692 003a 002B cmp r3, #0 @ hpcd_USB_OTG.State 6693 003c 3DD1 bne .L519 @ 6694 .LVL325: 6695 .LBB546: 6696 .LBB547: 6697 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:103: __HAL_RCC_USB_OTG_FS_C 103:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 6698 .loc 13 103 5 view .LVU1778 6699 003e 514B ldr r3, .L573+8 @ tmp257, 6700 0040 5A6B ldr r2, [r3, #52] @ _95, MEM[(struct RCC_TypeDef *)1073887232B].AHB2ENR 6701 0042 42F08002 orr r2, r2, #128 @ _96, _95, 6702 0046 5A63 str r2, [r3, #52] @ _96, MEM[(struct RCC_TypeDef *)1073887232B].AHB2ENR 6703 .LBB548: 6704 0048 0395 str r5, [sp, #12] @ _63, tmpreg 6705 004a 5A6C ldr r2, [r3, #68] @ _97, MEM[(struct RCC_TypeDef *)1073887232B].APB2ENR 6706 004c 42F48042 orr r2, r2, #16384 @ _98, _97, 6707 0050 5A64 str r2, [r3, #68] @ _98, MEM[(struct RCC_TypeDef *)1073887232B].APB2ENR 6708 0052 5B6C ldr r3, [r3, #68] @ _99, MEM[(struct RCC_TypeDef *)1073887232B].APB2ENR 6709 0054 03F48043 and r3, r3, #16384 @ _100, _99, ARM GAS /tmp/ccJhhmLc.s page 433 6710 0058 0393 str r3, [sp, #12] @ _100, tmpreg 6711 005a 039B ldr r3, [sp, #12] @ _101, tmpreg 6712 .LVL326: 103:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 6713 .loc 13 103 5 is_stmt 0 view .LVU1779 6714 .LBE548: 6715 .LBB549: 6716 .LBB550: 6717 @ /workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h:1820: NVIC->IP[((uint32_t)IR 6718 .file 15 "/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h" 1:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /**************************************************************************//** 2:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * @file core_cm4.h 3:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * @brief CMSIS Cortex-M4 Core Peripheral Access Layer Header File 4:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * @version V5.0.8 5:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * @date 04. June 2018 6:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ******************************************************************************/ 7:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* 8:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved. 9:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * 10:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * SPDX-License-Identifier: Apache-2.0 11:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * 12:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * Licensed under the Apache License, Version 2.0 (the License); you may 13:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * not use this file except in compliance with the License. 14:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * You may obtain a copy of the License at 15:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * 16:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * www.apache.org/licenses/LICENSE-2.0 17:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * 18:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * Unless required by applicable law or agreed to in writing, software 19:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * See the License for the specific language governing permissions and 22:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * limitations under the License. 23:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 24:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 25:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined ( __ICCARM__ ) 26:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #pragma system_include /* treat file as system include file for MISRA check */ 27:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #elif defined (__clang__) 28:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #pragma clang system_header /* treat file as system include file */ 29:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 30:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 31:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef __CORE_CM4_H_GENERIC 32:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __CORE_CM4_H_GENERIC 33:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 34:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #include 35:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 36:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifdef __cplusplus 37:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** extern "C" { 38:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 39:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 40:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 41:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions 42:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** CMSIS violates the following MISRA-C:2004 rules: 43:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 44:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \li Required Rule 8.5, object/function definition in header file.
45:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** Function definitions in header files are used to allow 'inlining'. 46:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 47:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.
ARM GAS /tmp/ccJhhmLc.s page 434 48:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** Unions are used for effective representation of core registers. 49:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 50:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \li Advisory Rule 19.7, Function-like macro defined.
51:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** Function-like macros are used to allow more efficient code. 52:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 53:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 54:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 55:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /******************************************************************************* 56:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * CMSIS definitions 57:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ******************************************************************************/ 58:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 59:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup Cortex_M4 60:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 61:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 62:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 63:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #include "cmsis_version.h" 64:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 65:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* CMSIS CM4 definitions */ 66:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __CM4_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] C 67:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __CM4_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] C 68:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __CM4_CMSIS_VERSION ((__CM4_CMSIS_VERSION_MAIN << 16U) | \ 69:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __CM4_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL 70:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 71:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __CORTEX_M (4U) /*!< Cortex-M Core */ 72:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 73:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** __FPU_USED indicates whether an FPU is used or not. 74:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and fun 75:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 76:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined ( __CC_ARM ) 77:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined __TARGET_FPU_VFP 78:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 79:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 1U 80:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 81:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT) 82:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 83:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 84:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 85:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 86:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 87:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 88:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 89:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined __ARM_PCS_VFP 90:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 91:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 1U 92:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 93:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESEN 94:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 95:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 96:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 97:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 98:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 99:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 100:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #elif defined ( __GNUC__ ) 101:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__VFP_FP__) && !defined(__SOFTFP__) 102:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 103:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 1U 104:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else ARM GAS /tmp/ccJhhmLc.s page 435 105:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT) 106:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 107:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 108:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 109:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 110:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 111:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 112:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #elif defined ( __ICCARM__ ) 113:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined __ARMVFP__ 114:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 115:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 1U 116:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 117:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT) 118:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 119:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 120:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 121:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 122:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 123:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 124:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #elif defined ( __TI_ARM__ ) 125:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined __TI_VFP_SUPPORT__ 126:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 127:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 1U 128:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 129:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT) 130:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 131:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 132:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 133:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 134:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 135:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 136:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #elif defined ( __TASKING__ ) 137:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined __FPU_VFP__ 138:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 139:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 1U 140:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 141:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT) 142:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 143:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 144:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 145:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 146:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 147:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 148:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #elif defined ( __CSMC__ ) 149:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if ( __CSMC__ & 0x400U) 150:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) 151:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 1U 152:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 153:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT) 154:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 155:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 156:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 157:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_USED 0U 158:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 159:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 160:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 161:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ARM GAS /tmp/ccJhhmLc.s page 436 162:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #include "cmsis_compiler.h" /* CMSIS compiler specific defines */ 163:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 164:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 165:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifdef __cplusplus 166:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 167:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 168:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 169:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif /* __CORE_CM4_H_GENERIC */ 170:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 171:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef __CMSIS_GENERIC 172:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 173:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef __CORE_CM4_H_DEPENDANT 174:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __CORE_CM4_H_DEPENDANT 175:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 176:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifdef __cplusplus 177:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** extern "C" { 178:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 179:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 180:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* check device defines and use defaults */ 181:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined __CHECK_DEVICE_DEFINES 182:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef __CM4_REV 183:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __CM4_REV 0x0000U 184:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #warning "__CM4_REV not defined in device header file; using default!" 185:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 186:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 187:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef __FPU_PRESENT 188:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __FPU_PRESENT 0U 189:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #warning "__FPU_PRESENT not defined in device header file; using default!" 190:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 191:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 192:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef __MPU_PRESENT 193:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __MPU_PRESENT 0U 194:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #warning "__MPU_PRESENT not defined in device header file; using default!" 195:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 196:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 197:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef __NVIC_PRIO_BITS 198:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __NVIC_PRIO_BITS 3U 199:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #warning "__NVIC_PRIO_BITS not defined in device header file; using default!" 200:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 201:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 202:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef __Vendor_SysTickConfig 203:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __Vendor_SysTickConfig 0U 204:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #warning "__Vendor_SysTickConfig not defined in device header file; using default!" 205:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 206:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 207:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 208:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* IO definitions (access restrictions to peripheral registers) */ 209:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 210:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_glob_defs CMSIS Global Defines 211:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 212:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** IO Type Qualifiers are used 213:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \li to specify the access to peripheral variables. 214:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \li for automatic generation of peripheral register debug information. 215:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 216:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifdef __cplusplus 217:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __I volatile /*!< Defines 'read only' permissions */ 218:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else ARM GAS /tmp/ccJhhmLc.s page 437 219:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __I volatile const /*!< Defines 'read only' permissions */ 220:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 221:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __O volatile /*!< Defines 'write only' permissions */ 222:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __IO volatile /*!< Defines 'read / write' permissions */ 223:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 224:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* following defines should be used for structure members */ 225:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __IM volatile const /*! Defines 'read only' structure member permissions */ 226:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __OM volatile /*! Defines 'write only' structure member permissions */ 227:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define __IOM volatile /*! Defines 'read / write' structure member permissions */ 228:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 229:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group Cortex_M4 */ 230:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 231:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 232:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 233:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /******************************************************************************* 234:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * Register Abstraction 235:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** Core Register contain: 236:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core Register 237:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core NVIC Register 238:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core SCB Register 239:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core SysTick Register 240:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core Debug Register 241:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core MPU Register 242:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core FPU Register 243:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ******************************************************************************/ 244:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 245:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_core_register Defines and Type Definitions 246:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions and defines for Cortex-M processor based devices. 247:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 248:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 249:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 250:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 251:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_CORE Status and Control Registers 252:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Core Register type definitions. 253:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 254:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 255:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 256:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 257:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Union type to access the Application Program Status Register (APSR). 258:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 259:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef union 260:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 261:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** struct 262:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 263:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */ 264:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ 265:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */ 266:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ 267:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ 268:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t C:1; /*!< bit: 29 Carry condition code flag */ 269:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ 270:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t N:1; /*!< bit: 31 Negative condition code flag */ 271:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } b; /*!< Structure used for bit access */ 272:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t w; /*!< Type used for word access */ 273:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } APSR_Type; 274:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 275:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* APSR Register Definitions */ ARM GAS /tmp/ccJhhmLc.s page 438 276:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_N_Pos 31U /*!< APSR 277:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR 278:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 279:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_Z_Pos 30U /*!< APSR 280:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR 281:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 282:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_C_Pos 29U /*!< APSR 283:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR 284:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 285:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_V_Pos 28U /*!< APSR 286:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR 287:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 288:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_Q_Pos 27U /*!< APSR 289:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR 290:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 291:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_GE_Pos 16U /*!< APSR 292:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define APSR_GE_Msk (0xFUL << APSR_GE_Pos) /*!< APSR 293:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 294:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 295:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 296:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Union type to access the Interrupt Program Status Register (IPSR). 297:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 298:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef union 299:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 300:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** struct 301:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 302:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ 303:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */ 304:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } b; /*!< Structure used for bit access */ 305:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t w; /*!< Type used for word access */ 306:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } IPSR_Type; 307:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 308:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* IPSR Register Definitions */ 309:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define IPSR_ISR_Pos 0U /*!< IPSR 310:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR 311:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 312:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 313:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 314:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Union type to access the Special-Purpose Program Status Registers (xPSR). 315:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 316:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef union 317:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 318:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** struct 319:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 320:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */ 321:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t _reserved0:1; /*!< bit: 9 Reserved */ 322:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t ICI_IT_1:6; /*!< bit: 10..15 ICI/IT part 1 */ 323:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */ 324:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */ 325:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t T:1; /*!< bit: 24 Thumb bit */ 326:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t ICI_IT_2:2; /*!< bit: 25..26 ICI/IT part 2 */ 327:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t Q:1; /*!< bit: 27 Saturation condition flag */ 328:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t V:1; /*!< bit: 28 Overflow condition code flag */ 329:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t C:1; /*!< bit: 29 Carry condition code flag */ 330:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t Z:1; /*!< bit: 30 Zero condition code flag */ 331:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t N:1; /*!< bit: 31 Negative condition code flag */ 332:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } b; /*!< Structure used for bit access */ ARM GAS /tmp/ccJhhmLc.s page 439 333:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t w; /*!< Type used for word access */ 334:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } xPSR_Type; 335:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 336:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* xPSR Register Definitions */ 337:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_N_Pos 31U /*!< xPSR 338:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR 339:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 340:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_Z_Pos 30U /*!< xPSR 341:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR 342:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 343:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_C_Pos 29U /*!< xPSR 344:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR 345:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 346:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_V_Pos 28U /*!< xPSR 347:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR 348:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 349:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_Q_Pos 27U /*!< xPSR 350:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR 351:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 352:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_ICI_IT_2_Pos 25U /*!< xPSR 353:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_ICI_IT_2_Msk (3UL << xPSR_ICI_IT_2_Pos) /*!< xPSR 354:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 355:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_T_Pos 24U /*!< xPSR 356:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR 357:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 358:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_GE_Pos 16U /*!< xPSR 359:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) /*!< xPSR 360:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 361:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_ICI_IT_1_Pos 10U /*!< xPSR 362:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_ICI_IT_1_Msk (0x3FUL << xPSR_ICI_IT_1_Pos) /*!< xPSR 363:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 364:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_ISR_Pos 0U /*!< xPSR 365:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR 366:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 367:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 368:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 369:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Union type to access the Control Registers (CONTROL). 370:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 371:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef union 372:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 373:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** struct 374:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 375:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */ 376:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */ 377:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t FPCA:1; /*!< bit: 2 FP extension active flag */ 378:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t _reserved0:29; /*!< bit: 3..31 Reserved */ 379:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } b; /*!< Structure used for bit access */ 380:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t w; /*!< Type used for word access */ 381:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } CONTROL_Type; 382:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 383:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* CONTROL Register Definitions */ 384:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CONTROL_FPCA_Pos 2U /*!< CONT 385:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) /*!< CONT 386:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 387:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CONTROL_SPSEL_Pos 1U /*!< CONT 388:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONT 389:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ARM GAS /tmp/ccJhhmLc.s page 440 390:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CONTROL_nPRIV_Pos 0U /*!< CONT 391:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONT 392:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 393:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_CORE */ 394:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 395:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 396:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 397:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 398:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC) 399:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the NVIC Registers 400:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 401:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 402:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 403:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 404:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC). 405:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 406:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 407:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 408:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t ISER[8U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */ 409:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED0[24U]; 410:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t ICER[8U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register 411:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RSERVED1[24U]; 412:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t ISPR[8U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register * 413:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED2[24U]; 414:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t ICPR[8U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register 415:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED3[24U]; 416:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t IABR[8U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */ 417:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED4[56U]; 418:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint8_t IP[240U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bi 419:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED5[644U]; 420:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Regis 421:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } NVIC_Type; 422:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 423:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Software Triggered Interrupt Register Definitions */ 424:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_STIR_INTID_Pos 0U /*!< STIR: I 425:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: I 426:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 427:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_NVIC */ 428:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 429:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 430:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 431:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 432:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_SCB System Control Block (SCB) 433:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the System Control Block Registers 434:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 435:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 436:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 437:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 438:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the System Control Block (SCB). 439:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 440:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 441:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 442:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */ 443:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Regi 444:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */ 445:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset 446:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */ ARM GAS /tmp/ccJhhmLc.s page 441 447:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register * 448:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint8_t SHP[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registe 449:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State 450:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Regist 451:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */ 452:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */ 453:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register 454:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */ 455:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register 456:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */ 457:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */ 458:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t ADR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */ 459:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t MMFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */ 460:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t ISAR[5U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Regis 461:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED0[5U]; 462:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Regis 463:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } SCB_Type; 464:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 465:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB CPUID Register Definitions */ 466:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB 467:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB 468:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 469:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_VARIANT_Pos 20U /*!< SCB 470:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB 471:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 472:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB 473:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB 474:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 475:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_PARTNO_Pos 4U /*!< SCB 476:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB 477:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 478:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_REVISION_Pos 0U /*!< SCB 479:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB 480:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 481:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB Interrupt Control State Register Definitions */ 482:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB 483:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB 484:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 485:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB 486:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB 487:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 488:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB 489:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB 490:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 491:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB 492:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB 493:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 494:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB 495:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB 496:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 497:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB 498:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB 499:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 500:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB 501:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB 502:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 503:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ARM GAS /tmp/ccJhhmLc.s page 442 504:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB 505:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 506:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB 507:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB 508:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 509:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB 510:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB 511:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 512:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB Vector Table Offset Register Definitions */ 513:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB 514:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB 515:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 516:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB Application Interrupt and Reset Control Register Definitions */ 517:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB 518:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB 519:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 520:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB 521:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB 522:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 523:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB 524:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB 525:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 526:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB 527:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB 528:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 529:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB 530:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB 531:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 532:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB 533:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB 534:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 535:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_VECTRESET_Pos 0U /*!< SCB 536:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_AIRCR_VECTRESET_Msk (1UL /*<< SCB_AIRCR_VECTRESET_Pos*/) /*!< SCB 537:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 538:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB System Control Register Definitions */ 539:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB 540:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB 541:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 542:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB 543:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB 544:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 545:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB 546:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB 547:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 548:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB Configuration Control Register Definitions */ 549:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_STKALIGN_Pos 9U /*!< SCB 550:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB 551:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 552:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB 553:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB 554:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 555:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB 556:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB 557:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 558:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB 559:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB 560:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ARM GAS /tmp/ccJhhmLc.s page 443 561:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB 562:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB 563:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 564:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_NONBASETHRDENA_Pos 0U /*!< SCB 565:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CCR_NONBASETHRDENA_Msk (1UL /*<< SCB_CCR_NONBASETHRDENA_Pos*/) /*!< SCB 566:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 567:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB System Handler Control and State Register Definitions */ 568:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB 569:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB 570:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 571:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB 572:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB 573:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 574:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB 575:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB 576:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 577:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB 578:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB 579:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 580:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB 581:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB 582:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 583:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB 584:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB 585:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 586:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB 587:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB 588:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 589:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB 590:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB 591:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 592:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB 593:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB 594:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 595:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB 596:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB 597:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 598:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB 599:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB 600:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 601:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB 602:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB 603:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 604:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB 605:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB 606:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 607:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB 608:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB 609:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 610:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB Configurable Fault Status Register Definitions */ 611:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB 612:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB 613:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 614:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB 615:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB 616:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 617:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB ARM GAS /tmp/ccJhhmLc.s page 444 618:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB 619:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 620:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */ 621:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB 622:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB 623:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 624:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB 625:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB 626:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 627:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB 628:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB 629:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 630:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB 631:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB 632:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 633:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB 634:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB 635:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 636:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB 637:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB 638:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 639:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* BusFault Status Register (part of SCB Configurable Fault Status Register) */ 640:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB 641:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB 642:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 643:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) /*!< SCB 644:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) /*!< SCB 645:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 646:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB 647:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB 648:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 649:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB 650:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB 651:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 652:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB 653:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB 654:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 655:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB 656:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB 657:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 658:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB 659:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB 660:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 661:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* UsageFault Status Register (part of SCB Configurable Fault Status Register) */ 662:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB 663:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB 664:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 665:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB 666:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB 667:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 668:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB 669:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB 670:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 671:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB 672:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB 673:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 674:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB ARM GAS /tmp/ccJhhmLc.s page 445 675:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB 676:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 677:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB 678:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB 679:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 680:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB Hard Fault Status Register Definitions */ 681:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB 682:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB 683:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 684:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_HFSR_FORCED_Pos 30U /*!< SCB 685:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB 686:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 687:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB 688:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB 689:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 690:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SCB Debug Fault Status Register Definitions */ 691:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB 692:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB 693:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 694:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_VCATCH_Pos 3U /*!< SCB 695:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB 696:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 697:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB 698:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB 699:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 700:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_BKPT_Pos 1U /*!< SCB 701:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB 702:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 703:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_HALTED_Pos 0U /*!< SCB 704:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB 705:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 706:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_SCB */ 707:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 708:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 709:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 710:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 711:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB) 712:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the System Control and ID Register not in the SCB 713:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 714:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 715:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 716:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 717:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the System Control and ID Register not in the SCB. 718:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 719:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 720:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 721:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED0[1U]; 722:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Regist 723:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */ 724:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } SCnSCB_Type; 725:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 726:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Interrupt Controller Type Register Definitions */ 727:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: I 728:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: I 729:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 730:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Auxiliary Control Register Definitions */ 731:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISOOFP_Pos 9U /*!< ACTLR: ARM GAS /tmp/ccJhhmLc.s page 446 732:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISOOFP_Msk (1UL << SCnSCB_ACTLR_DISOOFP_Pos) /*!< ACTLR: 733:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 734:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISFPCA_Pos 8U /*!< ACTLR: 735:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISFPCA_Msk (1UL << SCnSCB_ACTLR_DISFPCA_Pos) /*!< ACTLR: 736:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 737:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISFOLD_Pos 2U /*!< ACTLR: 738:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) /*!< ACTLR: 739:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 740:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISDEFWBUF_Pos 1U /*!< ACTLR: 741:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISDEFWBUF_Msk (1UL << SCnSCB_ACTLR_DISDEFWBUF_Pos) /*!< ACTLR: 742:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 743:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISMCYCINT_Pos 0U /*!< ACTLR: 744:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL /*<< SCnSCB_ACTLR_DISMCYCINT_Pos*/) /*!< ACTLR: 745:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 746:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_SCnotSCB */ 747:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 748:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 749:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 750:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 751:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_SysTick System Tick Timer (SysTick) 752:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the System Timer Registers. 753:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 754:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 755:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 756:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 757:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the System Timer (SysTick). 758:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 759:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 760:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 761:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Regis 762:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */ 763:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register * 764:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */ 765:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } SysTick_Type; 766:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 767:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SysTick Control / Status Register Definitions */ 768:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysT 769:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysT 770:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 771:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysT 772:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysT 773:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 774:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CTRL_TICKINT_Pos 1U /*!< SysT 775:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysT 776:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 777:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CTRL_ENABLE_Pos 0U /*!< SysT 778:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysT 779:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 780:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SysTick Reload Register Definitions */ 781:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_LOAD_RELOAD_Pos 0U /*!< SysT 782:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysT 783:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 784:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SysTick Current Register Definitions */ 785:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_VAL_CURRENT_Pos 0U /*!< SysT 786:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysT 787:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 788:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* SysTick Calibration Register Definitions */ ARM GAS /tmp/ccJhhmLc.s page 447 789:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CALIB_NOREF_Pos 31U /*!< SysT 790:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysT 791:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 792:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CALIB_SKEW_Pos 30U /*!< SysT 793:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysT 794:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 795:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CALIB_TENMS_Pos 0U /*!< SysT 796:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysT 797:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 798:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_SysTick */ 799:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 800:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 801:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 802:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 803:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM) 804:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the Instrumentation Trace Macrocell (ITM) 805:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 806:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 807:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 808:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 809:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM). 810:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 811:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 812:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 813:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __OM union 814:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 815:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */ 816:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */ 817:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */ 818:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */ 819:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED0[864U]; 820:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */ 821:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED1[15U]; 822:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */ 823:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED2[15U]; 824:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */ 825:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED3[29U]; 826:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __OM uint32_t IWR; /*!< Offset: 0xEF8 ( /W) ITM Integration Write Register * 827:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t IRR; /*!< Offset: 0xEFC (R/ ) ITM Integration Read Register */ 828:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t IMCR; /*!< Offset: 0xF00 (R/W) ITM Integration Mode Control Reg 829:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED4[43U]; 830:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */ 831:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */ 832:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED5[6U]; 833:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Re 834:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Re 835:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Re 836:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Re 837:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Re 838:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Re 839:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Re 840:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Re 841:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Re 842:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Re 843:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Re 844:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Re 845:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } ITM_Type; ARM GAS /tmp/ccJhhmLc.s page 448 846:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 847:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* ITM Trace Privilege Register Definitions */ 848:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM 849:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM 850:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 851:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* ITM Trace Control Register Definitions */ 852:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_BUSY_Pos 23U /*!< ITM 853:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM 854:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 855:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_TraceBusID_Pos 16U /*!< ITM 856:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) /*!< ITM 857:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 858:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM 859:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM 860:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 861:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_TSPrescale_Pos 8U /*!< ITM 862:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) /*!< ITM 863:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 864:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_SWOENA_Pos 4U /*!< ITM 865:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM 866:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 867:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_DWTENA_Pos 3U /*!< ITM 868:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM 869:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 870:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_SYNCENA_Pos 2U /*!< ITM 871:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM 872:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 873:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_TSENA_Pos 1U /*!< ITM 874:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM 875:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 876:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_ITMENA_Pos 0U /*!< ITM 877:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM 878:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 879:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* ITM Integration Write Register Definitions */ 880:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_IWR_ATVALIDM_Pos 0U /*!< ITM 881:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_IWR_ATVALIDM_Msk (1UL /*<< ITM_IWR_ATVALIDM_Pos*/) /*!< ITM 882:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 883:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* ITM Integration Read Register Definitions */ 884:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_IRR_ATREADYM_Pos 0U /*!< ITM 885:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_IRR_ATREADYM_Msk (1UL /*<< ITM_IRR_ATREADYM_Pos*/) /*!< ITM 886:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 887:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* ITM Integration Mode Control Register Definitions */ 888:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_IMCR_INTEGRATION_Pos 0U /*!< ITM 889:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_IMCR_INTEGRATION_Msk (1UL /*<< ITM_IMCR_INTEGRATION_Pos*/) /*!< ITM 890:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 891:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* ITM Lock Status Register Definitions */ 892:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_LSR_ByteAcc_Pos 2U /*!< ITM 893:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM 894:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 895:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_LSR_Access_Pos 1U /*!< ITM 896:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM 897:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 898:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_LSR_Present_Pos 0U /*!< ITM 899:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM 900:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 901:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@}*/ /* end of group CMSIS_ITM */ 902:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ARM GAS /tmp/ccJhhmLc.s page 449 903:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 904:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 905:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 906:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT) 907:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the Data Watchpoint and Trace (DWT) 908:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 909:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 910:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 911:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 912:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the Data Watchpoint and Trace Register (DWT). 913:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 914:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 915:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 916:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ 917:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ 918:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */ 919:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Registe 920:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */ 921:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */ 922:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Registe 923:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register 924:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */ 925:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t MASK0; /*!< Offset: 0x024 (R/W) Mask Register 0 */ 926:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */ 927:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED0[1U]; 928:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */ 929:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t MASK1; /*!< Offset: 0x034 (R/W) Mask Register 1 */ 930:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */ 931:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED1[1U]; 932:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */ 933:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t MASK2; /*!< Offset: 0x044 (R/W) Mask Register 2 */ 934:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */ 935:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED2[1U]; 936:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */ 937:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t MASK3; /*!< Offset: 0x054 (R/W) Mask Register 3 */ 938:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */ 939:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } DWT_Type; 940:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 941:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* DWT Control Register Definitions */ 942:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTR 943:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTR 944:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 945:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTR 946:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTR 947:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 948:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTR 949:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTR 950:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 951:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTR 952:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTR 953:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 954:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTR 955:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTR 956:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 957:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTR 958:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTR 959:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ARM GAS /tmp/ccJhhmLc.s page 450 960:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTR 961:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTR 962:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 963:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTR 964:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTR 965:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 966:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTR 967:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTR 968:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 969:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTR 970:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTR 971:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 972:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTR 973:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTR 974:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 975:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTR 976:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTR 977:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 978:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTR 979:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTR 980:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 981:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTR 982:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTR 983:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 984:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTR 985:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTR 986:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 987:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTR 988:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTR 989:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 990:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTR 991:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTR 992:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 993:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTR 994:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTR 995:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 996:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* DWT CPI Count Register Definitions */ 997:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPI 998:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPI 999:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1000:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* DWT Exception Overhead Count Register Definitions */ 1001:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXC 1002:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXC 1003:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1004:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* DWT Sleep Count Register Definitions */ 1005:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLE 1006:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLE 1007:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1008:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* DWT LSU Count Register Definitions */ 1009:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSU 1010:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSU 1011:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1012:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* DWT Folded-instruction Count Register Definitions */ 1013:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOL 1014:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOL 1015:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1016:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* DWT Comparator Mask Register Definitions */ ARM GAS /tmp/ccJhhmLc.s page 451 1017:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_MASK_MASK_Pos 0U /*!< DWT MAS 1018:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_MASK_MASK_Msk (0x1FUL /*<< DWT_MASK_MASK_Pos*/) /*!< DWT MAS 1019:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1020:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* DWT Comparator Function Register Definitions */ 1021:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUN 1022:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUN 1023:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1024:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_DATAVADDR1_Pos 16U /*!< DWT FUN 1025:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) /*!< DWT FUN 1026:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1027:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_DATAVADDR0_Pos 12U /*!< DWT FUN 1028:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) /*!< DWT FUN 1029:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1030:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUN 1031:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUN 1032:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1033:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_LNK1ENA_Pos 9U /*!< DWT FUN 1034:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) /*!< DWT FUN 1035:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1036:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_DATAVMATCH_Pos 8U /*!< DWT FUN 1037:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) /*!< DWT FUN 1038:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1039:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_CYCMATCH_Pos 7U /*!< DWT FUN 1040:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) /*!< DWT FUN 1041:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1042:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_EMITRANGE_Pos 5U /*!< DWT FUN 1043:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) /*!< DWT FUN 1044:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1045:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_FUNCTION_Pos 0U /*!< DWT FUN 1046:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_FUNCTION_FUNCTION_Msk (0xFUL /*<< DWT_FUNCTION_FUNCTION_Pos*/) /*!< DWT FUN 1047:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1048:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@}*/ /* end of group CMSIS_DWT */ 1049:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1050:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1051:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1052:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 1053:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_TPI Trace Port Interface (TPI) 1054:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the Trace Port Interface (TPI) 1055:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 1056:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1057:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1058:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1059:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the Trace Port Interface Register (TPI). 1060:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1061:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 1062:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1063:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Reg 1064:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Regis 1065:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED0[2U]; 1066:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Reg 1067:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED1[55U]; 1068:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register * 1069:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED2[131U]; 1070:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Regis 1071:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Regi 1072:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t FSCR; /*!< Offset: 0x308 (R/ ) Formatter Synchronization Counte 1073:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED3[759U]; ARM GAS /tmp/ccJhhmLc.s page 452 1074:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */ 1075:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t FIFO0; /*!< Offset: 0xEEC (R/ ) Integration ETM Data */ 1076:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/ ) ITATBCTR2 */ 1077:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED4[1U]; 1078:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */ 1079:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */ 1080:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */ 1081:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED5[39U]; 1082:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */ 1083:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */ 1084:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED7[8U]; 1085:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) TPIU_DEVID */ 1086:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) TPIU_DEVTYPE */ 1087:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } TPI_Type; 1088:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1089:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI Asynchronous Clock Prescaler Register Definitions */ 1090:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACP 1091:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACP 1092:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1093:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI Selected Pin Protocol Register Definitions */ 1094:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPP 1095:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPP 1096:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1097:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI Formatter and Flush Status Register Definitions */ 1098:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFS 1099:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFS 1100:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1101:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFS 1102:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFS 1103:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1104:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFS 1105:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFS 1106:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1107:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFS 1108:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFS 1109:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1110:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI Formatter and Flush Control Register Definitions */ 1111:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFC 1112:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFC 1113:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1114:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFC 1115:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFC 1116:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1117:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI TRIGGER Register Definitions */ 1118:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRI 1119:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRI 1120:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1121:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI Integration ETM Data Register Definitions (FIFO0) */ 1122:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ITM_ATVALID_Pos 29U /*!< TPI FIF 1123:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ITM_ATVALID_Msk (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos) /*!< TPI FIF 1124:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1125:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ITM_bytecount_Pos 27U /*!< TPI FIF 1126:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) /*!< TPI FIF 1127:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1128:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM_ATVALID_Pos 26U /*!< TPI FIF 1129:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM_ATVALID_Msk (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos) /*!< TPI FIF 1130:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ARM GAS /tmp/ccJhhmLc.s page 453 1131:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM_bytecount_Pos 24U /*!< TPI FIF 1132:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) /*!< TPI FIF 1133:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1134:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM2_Pos 16U /*!< TPI FIF 1135:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIF 1136:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1137:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM1_Pos 8U /*!< TPI FIF 1138:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) /*!< TPI FIF 1139:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1140:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM0_Pos 0U /*!< TPI FIF 1141:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO0_ETM0_Msk (0xFFUL /*<< TPI_FIFO0_ETM0_Pos*/) /*!< TPI FIF 1142:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1143:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI ITATBCTR2 Register Definitions */ 1144:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITATBCTR2_ATREADY2_Pos 0U /*!< TPI ITA 1145:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITATBCTR2_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2_Pos*/) /*!< TPI ITA 1146:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1147:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITATBCTR2_ATREADY1_Pos 0U /*!< TPI ITA 1148:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITATBCTR2_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1_Pos*/) /*!< TPI ITA 1149:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1150:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI Integration ITM Data Register Definitions (FIFO1) */ 1151:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM_ATVALID_Pos 29U /*!< TPI FIF 1152:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM_ATVALID_Msk (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos) /*!< TPI FIF 1153:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1154:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM_bytecount_Pos 27U /*!< TPI FIF 1155:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) /*!< TPI FIF 1156:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1157:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ETM_ATVALID_Pos 26U /*!< TPI FIF 1158:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ETM_ATVALID_Msk (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos) /*!< TPI FIF 1159:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1160:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ETM_bytecount_Pos 24U /*!< TPI FIF 1161:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) /*!< TPI FIF 1162:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1163:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM2_Pos 16U /*!< TPI FIF 1164:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) /*!< TPI FIF 1165:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1166:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM1_Pos 8U /*!< TPI FIF 1167:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) /*!< TPI FIF 1168:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1169:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM0_Pos 0U /*!< TPI FIF 1170:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_FIFO1_ITM0_Msk (0xFFUL /*<< TPI_FIFO1_ITM0_Pos*/) /*!< TPI FIF 1171:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1172:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI ITATBCTR0 Register Definitions */ 1173:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITATBCTR0_ATREADY2_Pos 0U /*!< TPI ITA 1174:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITATBCTR0_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2_Pos*/) /*!< TPI ITA 1175:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1176:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITATBCTR0_ATREADY1_Pos 0U /*!< TPI ITA 1177:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITATBCTR0_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1_Pos*/) /*!< TPI ITA 1178:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1179:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI Integration Mode Control Register Definitions */ 1180:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITC 1181:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITC 1182:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1183:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI DEVID Register Definitions */ 1184:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEV 1185:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEV 1186:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1187:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEV ARM GAS /tmp/ccJhhmLc.s page 454 1188:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEV 1189:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1190:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEV 1191:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEV 1192:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1193:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_MinBufSz_Pos 6U /*!< TPI DEV 1194:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEV 1195:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1196:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_AsynClkIn_Pos 5U /*!< TPI DEV 1197:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) /*!< TPI DEV 1198:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1199:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEV 1200:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVID_NrTraceInput_Msk (0x1FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEV 1201:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1202:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* TPI DEVTYPE Register Definitions */ 1203:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEV 1204:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEV 1205:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1206:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEV 1207:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEV 1208:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1209:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@}*/ /* end of group CMSIS_TPI */ 1210:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1211:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1212:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) 1213:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1214:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 1215:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_MPU Memory Protection Unit (MPU) 1216:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the Memory Protection Unit (MPU) 1217:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 1218:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1219:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1220:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1221:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the Memory Protection Unit (MPU). 1222:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1223:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 1224:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1225:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */ 1226:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */ 1227:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */ 1228:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register 1229:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Re 1230:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Alias 1 Region Base Address 1231:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RASR_A1; /*!< Offset: 0x018 (R/W) MPU Alias 1 Region Attribute and 1232:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Alias 2 Region Base Address 1233:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RASR_A2; /*!< Offset: 0x020 (R/W) MPU Alias 2 Region Attribute and 1234:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Alias 3 Region Base Address 1235:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t RASR_A3; /*!< Offset: 0x028 (R/W) MPU Alias 3 Region Attribute and 1236:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } MPU_Type; 1237:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1238:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_TYPE_RALIASES 4U 1239:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1240:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* MPU Type Register Definitions */ 1241:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_TYPE_IREGION_Pos 16U /*!< MPU 1242:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU 1243:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1244:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_TYPE_DREGION_Pos 8U /*!< MPU ARM GAS /tmp/ccJhhmLc.s page 455 1245:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU 1246:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1247:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU 1248:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU 1249:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1250:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* MPU Control Register Definitions */ 1251:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU 1252:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU 1253:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1254:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU 1255:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU 1256:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1257:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_CTRL_ENABLE_Pos 0U /*!< MPU 1258:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU 1259:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1260:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* MPU Region Number Register Definitions */ 1261:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RNR_REGION_Pos 0U /*!< MPU 1262:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU 1263:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1264:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* MPU Region Base Address Register Definitions */ 1265:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RBAR_ADDR_Pos 5U /*!< MPU 1266:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU 1267:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1268:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RBAR_VALID_Pos 4U /*!< MPU 1269:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU 1270:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1271:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RBAR_REGION_Pos 0U /*!< MPU 1272:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU 1273:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1274:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* MPU Region Attribute and Size Register Definitions */ 1275:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_ATTRS_Pos 16U /*!< MPU 1276:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU 1277:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1278:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_XN_Pos 28U /*!< MPU 1279:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU 1280:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1281:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_AP_Pos 24U /*!< MPU 1282:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU 1283:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1284:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_TEX_Pos 19U /*!< MPU 1285:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU 1286:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1287:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_S_Pos 18U /*!< MPU 1288:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU 1289:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1290:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_C_Pos 17U /*!< MPU 1291:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU 1292:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1293:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_B_Pos 16U /*!< MPU 1294:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU 1295:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1296:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_SRD_Pos 8U /*!< MPU 1297:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU 1298:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1299:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_SIZE_Pos 1U /*!< MPU 1300:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU 1301:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ARM GAS /tmp/ccJhhmLc.s page 456 1302:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_ENABLE_Pos 0U /*!< MPU 1303:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU 1304:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1305:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_MPU */ 1306:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif /* defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) */ 1307:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1308:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1309:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1310:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 1311:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_FPU Floating Point Unit (FPU) 1312:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the Floating Point Unit (FPU) 1313:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 1314:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1315:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1316:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1317:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the Floating Point Unit (FPU). 1318:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1319:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 1320:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1321:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t RESERVED0[1U]; 1322:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control R 1323:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address R 1324:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Co 1325:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0 1326:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IM uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1 1327:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } FPU_Type; 1328:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1329:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Floating-Point Context Control Register Definitions */ 1330:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_ASPEN_Pos 31U /*!< FPCC 1331:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCC 1332:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1333:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_LSPEN_Pos 30U /*!< FPCC 1334:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCC 1335:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1336:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_MONRDY_Pos 8U /*!< FPCC 1337:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCC 1338:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1339:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_BFRDY_Pos 6U /*!< FPCC 1340:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCC 1341:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1342:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_MMRDY_Pos 5U /*!< FPCC 1343:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCC 1344:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1345:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_HFRDY_Pos 4U /*!< FPCC 1346:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCC 1347:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1348:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_THREAD_Pos 3U /*!< FPCC 1349:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCC 1350:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1351:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_USER_Pos 1U /*!< FPCC 1352:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCC 1353:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1354:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_LSPACT_Pos 0U /*!< FPCC 1355:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/) /*!< FPCC 1356:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1357:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Floating-Point Context Address Register Definitions */ 1358:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCAR_ADDRESS_Pos 3U /*!< FPCA ARM GAS /tmp/ccJhhmLc.s page 457 1359:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCA 1360:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1361:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Floating-Point Default Status Control Register Definitions */ 1362:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPDSCR_AHP_Pos 26U /*!< FPDS 1363:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDS 1364:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1365:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPDSCR_DN_Pos 25U /*!< FPDS 1366:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDS 1367:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1368:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPDSCR_FZ_Pos 24U /*!< FPDS 1369:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDS 1370:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1371:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPDSCR_RMode_Pos 22U /*!< FPDS 1372:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDS 1373:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1374:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Media and FP Feature Register 0 Definitions */ 1375:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_FP_rounding_modes_Pos 28U /*!< MVFR 1376:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR 1377:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1378:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Short_vectors_Pos 24U /*!< MVFR 1379:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR 1380:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1381:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Square_root_Pos 20U /*!< MVFR 1382:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR 1383:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1384:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Divide_Pos 16U /*!< MVFR 1385:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR 1386:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1387:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_FP_excep_trapping_Pos 12U /*!< MVFR 1388:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR 1389:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1390:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Double_precision_Pos 8U /*!< MVFR 1391:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR 1392:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1393:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Single_precision_Pos 4U /*!< MVFR 1394:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR 1395:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1396:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_A_SIMD_registers_Pos 0U /*!< MVFR 1397:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL /*<< FPU_MVFR0_A_SIMD_registers_Pos*/) /*!< MVFR 1398:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1399:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Media and FP Feature Register 1 Definitions */ 1400:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR1_FP_fused_MAC_Pos 28U /*!< MVFR 1401:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR 1402:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1403:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR1_FP_HPFP_Pos 24U /*!< MVFR 1404:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR 1405:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1406:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR1_D_NaN_mode_Pos 4U /*!< MVFR 1407:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR 1408:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1409:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR1_FtZ_mode_Pos 0U /*!< MVFR 1410:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_MVFR1_FtZ_mode_Msk (0xFUL /*<< FPU_MVFR1_FtZ_mode_Pos*/) /*!< MVFR 1411:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1412:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_FPU */ 1413:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1414:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1415:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** ARM GAS /tmp/ccJhhmLc.s page 458 1416:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 1417:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug) 1418:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Type definitions for the Core Debug Registers 1419:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 1420:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1421:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1422:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1423:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Structure type to access the Core Debug Register (CoreDebug). 1424:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1425:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** typedef struct 1426:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1427:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status 1428:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Reg 1429:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Registe 1430:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Cont 1431:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } CoreDebug_Type; 1432:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1433:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Debug Halting Control and Status Register Definitions */ 1434:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< Core 1435:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< Core 1436:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1437:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< Core 1438:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< Core 1439:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1440:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< Core 1441:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< Core 1442:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1443:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< Core 1444:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< Core 1445:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1446:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< Core 1447:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< Core 1448:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1449:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< Core 1450:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< Core 1451:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1452:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< Core 1453:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< Core 1454:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1455:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< Core 1456:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< Core 1457:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1458:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< Core 1459:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< Core 1460:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1461:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< Core 1462:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< Core 1463:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1464:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< Core 1465:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< Core 1466:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1467:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< Core 1468:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< Core 1469:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1470:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Debug Core Register Selector Register Definitions */ 1471:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< Core 1472:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< Core ARM GAS /tmp/ccJhhmLc.s page 459 1473:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1474:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< Core 1475:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< Core 1476:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1477:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Debug Exception and Monitor Control Register Definitions */ 1478:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< Core 1479:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< Core 1480:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1481:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< Core 1482:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< Core 1483:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1484:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< Core 1485:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< Core 1486:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1487:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< Core 1488:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< Core 1489:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1490:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< Core 1491:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< Core 1492:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1493:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< Core 1494:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< Core 1495:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1496:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< Core 1497:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< Core 1498:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1499:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< Core 1500:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< Core 1501:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1502:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< Core 1503:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< Core 1504:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1505:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< Core 1506:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< Core 1507:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1508:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< Core 1509:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< Core 1510:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1511:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< Core 1512:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< Core 1513:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1514:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< Core 1515:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< Core 1516:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1517:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_CoreDebug */ 1518:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1519:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1520:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1521:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 1522:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_core_bitfield Core register bit field macros 1523:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk). 1524:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 1525:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1526:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1527:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1528:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Mask and shift a bit field value for use in a register bit range. 1529:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param[in] field Name of the register bit field. ARM GAS /tmp/ccJhhmLc.s page 460 1530:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type. 1531:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return Masked and shifted value. 1532:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1533:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk) 1534:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1535:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1536:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Mask and shift a register value to extract a bit filed value. 1537:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param[in] field Name of the register bit field. 1538:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param[in] value Value of register. This parameter is interpreted as an uint32_t type. 1539:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return Masked and shifted bit field value. 1540:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1541:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos) 1542:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1543:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} end of group CMSIS_core_bitfield */ 1544:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1545:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1546:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1547:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_core_register 1548:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_core_base Core Definitions 1549:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Definitions for base addresses, unions, and structures. 1550:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 1551:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1552:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1553:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* Memory mapping of Core Hardware */ 1554:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCS_BASE (0xE000E000UL) /*!< System Control Space Bas 1555:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */ 1556:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */ 1557:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */ 1558:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address 1559:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */ 1560:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */ 1561:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Bas 1562:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1563:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register 1564:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct 1565:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration st 1566:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struc 1567:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct 1568:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct 1569:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct 1570:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration 1571:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1572:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) 1573:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit * 1574:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit * 1575:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 1576:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1577:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */ 1578:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */ 1579:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1580:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /*@} */ 1581:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1582:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1583:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1584:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /******************************************************************************* 1585:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** * Hardware Abstraction Layer 1586:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** Core Function Interface contains: ARM GAS /tmp/ccJhhmLc.s page 461 1587:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core NVIC Functions 1588:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core SysTick Functions 1589:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core Debug Functions 1590:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** - Core Register Access Functions 1591:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ******************************************************************************/ 1592:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1593:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference 1594:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1595:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1596:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1597:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1598:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* ########################## NVIC functions #################################### */ 1599:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1600:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \ingroup CMSIS_Core_FunctionInterface 1601:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \defgroup CMSIS_Core_NVICFunctions NVIC Functions 1602:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Functions that manage interrupts and exceptions via the NVIC. 1603:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** @{ 1604:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1605:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1606:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifdef CMSIS_NVIC_VIRTUAL 1607:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE 1608:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h" 1609:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 1610:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #include CMSIS_NVIC_VIRTUAL_HEADER_FILE 1611:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 1612:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping 1613:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping 1614:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_EnableIRQ __NVIC_EnableIRQ 1615:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ 1616:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_DisableIRQ __NVIC_DisableIRQ 1617:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ 1618:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ 1619:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ 1620:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_GetActive __NVIC_GetActive 1621:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_SetPriority __NVIC_SetPriority 1622:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_GetPriority __NVIC_GetPriority 1623:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_SystemReset __NVIC_SystemReset 1624:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif /* CMSIS_NVIC_VIRTUAL */ 1625:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1626:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifdef CMSIS_VECTAB_VIRTUAL 1627:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE 1628:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h" 1629:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif 1630:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE 1631:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #else 1632:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_SetVector __NVIC_SetVector 1633:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_GetVector __NVIC_GetVector 1634:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #endif /* (CMSIS_VECTAB_VIRTUAL) */ 1635:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1636:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define NVIC_USER_IRQ_OFFSET 16 1637:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1638:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1639:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /* The following EXC_RETURN values are saved the LR on exception entry */ 1640:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after ret 1641:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after retu 1642:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after retu 1643:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define EXC_RETURN_HANDLER_FPU (0xFFFFFFE1UL) /* return to Handler mode, uses MSP after ret ARM GAS /tmp/ccJhhmLc.s page 462 1644:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define EXC_RETURN_THREAD_MSP_FPU (0xFFFFFFE9UL) /* return to Thread mode, uses MSP after retu 1645:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** #define EXC_RETURN_THREAD_PSP_FPU (0xFFFFFFEDUL) /* return to Thread mode, uses PSP after retu 1646:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1647:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1648:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1649:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Set Priority Grouping 1650:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Sets the priority grouping field using the required unlock sequence. 1651:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. 1652:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** Only values from 0..7 are used. 1653:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** In case of a conflict between priority grouping and available 1654:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set. 1655:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] PriorityGroup Priority grouping field. 1656:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1657:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup) 1658:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1659:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t reg_value; 1660:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 a 1661:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1662:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** reg_value = SCB->AIRCR; /* read old register 1663:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to chan 1664:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** reg_value = (reg_value | 1665:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 1666:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key a 1667:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** SCB->AIRCR = reg_value; 1668:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1669:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1670:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1671:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1672:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Get Priority Grouping 1673:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Reads the priority grouping field from the NVIC Interrupt Controller. 1674:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field). 1675:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1676:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void) 1677:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1678:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); 1679:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1680:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1681:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1682:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1683:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Enable Interrupt 1684:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Enables a device specific interrupt in the NVIC interrupt controller. 1685:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] IRQn Device specific interrupt number. 1686:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \note IRQn must not be negative. 1687:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1688:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) 1689:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1690:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** if ((int32_t)(IRQn) >= 0) 1691:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1692:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 1693:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1694:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1695:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1696:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1697:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1698:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Get Interrupt Enable status 1699:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Returns a device specific interrupt enable status from the NVIC interrupt controller. 1700:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] IRQn Device specific interrupt number. ARM GAS /tmp/ccJhhmLc.s page 463 1701:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return 0 Interrupt is not enabled. 1702:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return 1 Interrupt is enabled. 1703:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \note IRQn must not be negative. 1704:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1705:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) 1706:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1707:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** if ((int32_t)(IRQn) >= 0) 1708:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1709:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL) 1710:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1711:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** else 1712:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1713:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** return(0U); 1714:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1715:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1716:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1717:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1718:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1719:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Disable Interrupt 1720:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Disables a device specific interrupt in the NVIC interrupt controller. 1721:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] IRQn Device specific interrupt number. 1722:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \note IRQn must not be negative. 1723:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1724:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) 1725:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1726:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** if ((int32_t)(IRQn) >= 0) 1727:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1728:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 1729:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __DSB(); 1730:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __ISB(); 1731:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1732:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1733:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1734:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1735:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1736:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Get Pending Interrupt 1737:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Reads the NVIC pending register and returns the pending bit for the specified device spe 1738:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] IRQn Device specific interrupt number. 1739:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return 0 Interrupt status is not pending. 1740:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return 1 Interrupt status is pending. 1741:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \note IRQn must not be negative. 1742:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1743:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) 1744:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1745:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** if ((int32_t)(IRQn) >= 0) 1746:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1747:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL) 1748:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1749:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** else 1750:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1751:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** return(0U); 1752:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1753:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1754:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1755:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1756:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1757:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Set Pending Interrupt ARM GAS /tmp/ccJhhmLc.s page 464 1758:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Sets the pending bit of a device specific interrupt in the NVIC pending register. 1759:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] IRQn Device specific interrupt number. 1760:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \note IRQn must not be negative. 1761:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1762:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) 1763:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1764:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** if ((int32_t)(IRQn) >= 0) 1765:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1766:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 1767:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1768:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1769:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1770:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1771:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1772:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Clear Pending Interrupt 1773:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Clears the pending bit of a device specific interrupt in the NVIC pending register. 1774:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] IRQn Device specific interrupt number. 1775:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \note IRQn must not be negative. 1776:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1777:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) 1778:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1779:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** if ((int32_t)(IRQn) >= 0) 1780:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1781:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 1782:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1783:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1784:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1785:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1786:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1787:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Get Active Interrupt 1788:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Reads the active register in the NVIC and returns the active bit for the device specific 1789:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] IRQn Device specific interrupt number. 1790:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return 0 Interrupt status is not active. 1791:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \return 1 Interrupt status is active. 1792:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \note IRQn must not be negative. 1793:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1794:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn) 1795:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1796:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** if ((int32_t)(IRQn) >= 0) 1797:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1798:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL) 1799:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1800:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** else 1801:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1802:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** return(0U); 1803:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1804:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 1805:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1806:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** 1807:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** /** 1808:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \brief Set Interrupt Priority 1809:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \details Sets the priority of a device specific interrupt or a processor exception. 1810:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** The interrupt number can be positive to specify a device specific interrupt, 1811:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** or negative to specify a processor exception. 1812:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] IRQn Interrupt number. 1813:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \param [in] priority Priority to set. 1814:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** \note The priority cannot be set for every processor exception. ARM GAS /tmp/ccJhhmLc.s page 465 1815:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** */ 1816:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) 1817:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1818:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** if ((int32_t)(IRQn) >= 0) 1819:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** { 1820:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (u 6719 .loc 15 1820 46 is_stmt 1 view .LVU1780 6720 005c 4A4B ldr r3, .L573+12 @ tmp263, 6721 005e B022 movs r2, #176 @ tmp264, 6722 0060 83F84323 strb r2, [r3, #835] @ tmp264, MEM[(struct NVIC_Type *)3758153984B].IP[67] 6723 .LVL327: 6724 .loc 15 1820 46 is_stmt 0 view .LVU1781 6725 .LBE550: 6726 .LBE549: 6727 .LBB551: 6728 .LBB552: 6729 @ /workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h:1692: NVIC->ISER[(((uint32_t 1692:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 6730 .loc 15 1692 43 is_stmt 1 view .LVU1782 6731 0064 0822 movs r2, #8 @ tmp267, 6732 0066 9A60 str r2, [r3, #8] @ tmp267, MEM[(struct NVIC_Type *)3758153984B].ISER[2] 6733 .LVL328: 1692:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** } 6734 .loc 15 1692 43 is_stmt 0 view .LVU1783 6735 .LBE552: 6736 .LBE551: 6737 .LBB553: 6738 .LBB554: 6739 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1686: __HA 1017:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1018:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1019:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1020:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1021:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1022:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Stop the USB device. 1023:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1024:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1025:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1026:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd) 1027:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1029:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1031:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 1032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 1033:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 1035:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((hpcd->Init.battery_charging_enable == 1U) && 1037:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 1038:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1039:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Disable USB Transceiver */ 1040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 1041:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1042:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1044:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccJhhmLc.s page 466 1045:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1046:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1047:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1048:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 1049:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1050:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Handles PCD interrupt request. 1051:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1052:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1054:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) 1055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1056:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1058:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_EPTypeDef *ep; 1059:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t i; 1060:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t ep_intr; 1061:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t epint; 1062:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t epnum; 1063:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t fifoemptymsk; 1064:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t temp; 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1066:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* ensure that we are in device mode */ 1067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (USB_GetMode(hpcd->Instance) == USB_OTG_MODE_DEVICE) 1068:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* avoid spurious interrupt */ 1070:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_IS_INVALID_INTERRUPT(hpcd)) 1071:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1072:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return; 1073:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1074:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1075:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS)) 1076:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1077:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* incorrect mode, acknowledge the interrupt */ 1078:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS); 1079:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1080:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1081:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle RxQLevel Interrupt */ 1082:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL)) 1083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 1085:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** temp = USBx->GRXSTSP; 1087:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[temp & USB_OTG_GRXSTSP_EPNUM]; 1089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1090:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_DATA_UPDT) 1091:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1092:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((temp & USB_OTG_GRXSTSP_BCNT) != 0U) 1093:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1094:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ReadPacket(USBx, ep->xfer_buff, 1095:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint16_t)((temp & USB_OTG_GRXSTSP_BCNT) >> 4)); 1096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 1098:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 1099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_SETUP_UPDT) ARM GAS /tmp/ccJhhmLc.s page 467 1102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8U); 1104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 1105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* ... */ 1109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 1111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT)) 1114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum = 0U; 1116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Read in the device interrupt bits */ 1118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance); 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** while (ep_intr != 0U) 1121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_intr & 0x1U) != 0U) 1123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, (uint8_t)epnum); 1125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_XFRC) == USB_OTG_DOEPINT_XFRC) 1127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_XFRC); 1129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)PCD_EP_OutXfrComplete_int(hpcd, epnum); 1130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) 1133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STUP); 1135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Class B setup phase done for previous decoded setup */ 1136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)PCD_EP_OutSetupPacket_int(hpcd, epnum); 1137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_OTEPDIS) == USB_OTG_DOEPINT_OTEPDIS) 1140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPDIS); 1142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear Status Phase Received interrupt */ 1145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 1146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 1148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear OUT NAK interrupt */ 1151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DOEPINT_NAK) == USB_OTG_DOEPINT_NAK) 1152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_NAK); 1154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum++; 1157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr >>= 1U; 1158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } ARM GAS /tmp/ccJhhmLc.s page 468 1159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT)) 1162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Read in the device interrupt bits */ 1164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance); 1165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum = 0U; 1167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** while (ep_intr != 0U) 1169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_intr & 0x1U) != 0U) /* In ITR */ 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epint = USB_ReadDevInEPInterrupt(hpcd->Instance, (uint8_t)epnum); 1173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_XFRC) == USB_OTG_DIEPINT_XFRC) 1175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 1177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 1178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_XFRC); 1180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.dma_enable == 1U) 1182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[epnum].xfer_buff += hpcd->IN_ep[epnum].maxpacket; 1184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* this is ZLP, so prepare EP0 for next setup */ 1186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epnum == 0U) && (hpcd->IN_ep[epnum].xfer_len == 0U)) 1187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* prepare to rx more setup packets */ 1189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 1190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DataInStageCallback(hpcd, (uint8_t)epnum); 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_DataInStageCallback(hpcd, (uint8_t)epnum); 1197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_TOC) == USB_OTG_DIEPINT_TOC) 1200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_TOC); 1202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_ITTXFE) == USB_OTG_DIEPINT_ITTXFE) 1204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_ITTXFE); 1206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_INEPNE) == USB_OTG_DIEPINT_INEPNE) 1208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_INEPNE); 1210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_EPDISD) == USB_OTG_DIEPINT_EPDISD) 1212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_EPDISD); 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((epint & USB_OTG_DIEPINT_TXFE) == USB_OTG_DIEPINT_TXFE) ARM GAS /tmp/ccJhhmLc.s page 469 1216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)PCD_WriteEmptyTxFifo(hpcd, epnum); 1218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum++; 1221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep_intr >>= 1U; 1222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Resume Interrupt */ 1226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT)) 1227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear the Remote Wake-up Signaling */ 1229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 1230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L1) 1232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPM_State = LPM_L0; 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback(hpcd, PCD_LPM_L0_ACTIVE); 1237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L0_ACTIVE); 1239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResumeCallback(hpcd); 1245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ResumeCallback(hpcd); 1247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT); 1251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Suspend Interrupt */ 1254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP)) 1255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) 1257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback(hpcd); 1260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_SuspendCallback(hpcd); 1262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP); 1265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || 1267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle LPM Interrupt */ 1268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT)) 1269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT); 1271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L0) ARM GAS /tmp/ccJhhmLc.s page 470 1273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPM_State = LPM_L1; 1275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->BESL = (hpcd->Instance->GLPMCFG & USB_OTG_GLPMCFG_BESL) >> 2U; 1276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->LPMCallback(hpcd, PCD_LPM_L1_ACTIVE); 1279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE); 1281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SuspendCallback(hpcd); 1287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_SuspendCallback(hpcd); 1289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412 1293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Reset Interrupt */ 1294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST)) 1295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 1297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 1298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 1300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 1303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_INEP(i)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 1304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 1305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 1306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 1307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DAINTMSK |= 0x10001U; 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.use_dedicated_ep1 != 0U) 1311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DOUTEP1MSK |= USB_OTG_DOEPMSK_STUPM | 1313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 1314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_EPDM; 1315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DINEP1MSK |= USB_OTG_DIEPMSK_TOM | 1317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | 1318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_EPDM; 1319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DOEPMSK |= USB_OTG_DOEPMSK_STUPM | 1323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_XFRCM | 1324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_EPDM | 1325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_OTEPSPRM | 1326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DOEPMSK_NAKM; 1327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DIEPMSK |= USB_OTG_DIEPMSK_TOM | 1329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_XFRCM | ARM GAS /tmp/ccJhhmLc.s page 471 1330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_DIEPMSK_EPDM; 1331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Set Default Address to 0 */ 1334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx_DEVICE->DCFG &= ~USB_OTG_DCFG_DAD; 1335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* setup EP0 to receive SETUP packets */ 1337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 1338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint8_t *)hpcd->Setup); 1339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST); 1341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Enumeration done Interrupt */ 1344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE)) 1345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateSetup(hpcd->Instance); 1347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); 1348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Set USB Turnaround time */ 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_SetTurnaroundTime(hpcd->Instance, 1351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_RCC_GetHCLKFreq(), 1352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (uint8_t)hpcd->Init.speed); 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ResetCallback(hpcd); 1356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ResetCallback(hpcd); 1358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE); 1361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle SOF Interrupt */ 1364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF)) 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->SOFCallback(hpcd); 1368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_SOFCallback(hpcd); 1370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF); 1373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Incomplete ISO IN Interrupt */ 1376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR)) 1377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Keep application checking the corresponding Iso IN endpoint 1379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** causing the incomplete Interrupt */ 1380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum = 0U; 1381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback(hpcd, (uint8_t)epnum); 1384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ISOINIncompleteCallback(hpcd, (uint8_t)epnum); 1386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ ARM GAS /tmp/ccJhhmLc.s page 472 1387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR); 1389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Incomplete ISO OUT Interrupt */ 1392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) 1393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Keep application checking the corresponding Iso OUT endpoint 1395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** causing the incomplete Interrupt */ 1396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** epnum = 0U; 1397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum); 1400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum); 1402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); 1405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Connection event Interrupt */ 1408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT)) 1409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->ConnectCallback(hpcd); 1412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_ConnectCallback(hpcd); 1414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT); 1417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Handle Disconnection event Interrupt */ 1420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT)) 1421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** temp = hpcd->Instance->GOTGINT; 1423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((temp & USB_OTG_GOTGINT_SEDET) == USB_OTG_GOTGINT_SEDET) 1425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 1427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->DisconnectCallback(hpcd); 1428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #else 1429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_PCD_DisconnectCallback(hpcd); 1430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 1431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->Instance->GOTGINT |= temp; 1433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Handles PCD Wakeup interrupt request. 1440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** void HAL_PCD_WKUP_IRQHandler(PCD_HandleTypeDef *hpcd) ARM GAS /tmp/ccJhhmLc.s page 473 1444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx; 1446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx = hpcd->Instance; 1448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((USBx->CID & (0x1U << 8)) == 0U) 1450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear EXTI pending Bit */ 1452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_USB_OTG_FS_WAKEUP_EXTI_CLEAR_FLAG(); 1453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Clear EXTI pending Bit */ 1457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_USB_OTG_HS_WAKEUP_EXTI_CLEAR_FLAG(); 1458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 1461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Data OUT stage callback. 1465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 1467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_DataOutStageCallback could be implemented in the user file 1477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Data IN stage callback 1482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 1484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_DataInStageCallback could be implemented in the user file 1494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Setup stage callback 1498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ ARM GAS /tmp/ccJhhmLc.s page 474 1501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) 1502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_SetupStageCallback could be implemented in the user file 1508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief USB Start Of Frame callback. 1513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) 1517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_SOFCallback could be implemented in the user file 1523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief USB Reset callback. 1528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) 1532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ResetCallback could be implemented in the user file 1538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Suspend event callback. 1543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) 1547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_SuspendCallback could be implemented in the user file 1553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Resume event callback. ARM GAS /tmp/ccJhhmLc.s page 475 1558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) 1562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ResumeCallback could be implemented in the user file 1568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Incomplete ISO OUT callback. 1573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 1575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ISOOUTIncompleteCallback could be implemented in the user file 1585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Incomplete ISO IN callback. 1590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param epnum endpoint number 1592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) 1595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(epnum); 1599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ISOINIncompleteCallback could be implemented in the user file 1602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Connection event callback. 1607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) 1611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccJhhmLc.s page 476 1615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_ConnectCallback could be implemented in the user file 1617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Disconnection event callback. 1622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval None 1624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __weak void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) 1626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */ 1628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** UNUSED(hpcd); 1629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed, 1631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** the HAL_PCD_DisconnectCallback could be implemented in the user file 1632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @} 1637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group3 Peripheral Control functions 1640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief management functions 1641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * 1642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @verbatim 1643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 1644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ##### Peripheral Control functions ##### 1645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** =============================================================================== 1646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** [..] 1647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** This subsection provides a set of functions allowing to control the PCD data 1648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** transfers. 1649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** @endverbatim 1651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @{ 1652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Connect the USB device 1656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd) 1660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((hpcd->Init.battery_charging_enable == 1U) && 1666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 1667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Enable USB Transceiver */ 1669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 1670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance); ARM GAS /tmp/ccJhhmLc.s page 477 1672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Disconnect the USB device. 1679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd) 1683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 1685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 6740 .loc 14 1686 3 is_stmt 1 discriminator 2 view .LVU1784 6741 0068 84F8BC13 strb r1, [r4, #956] @ tmp244, hpcd_USB_OTG.Lock 6742 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1687: (voi 1687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance); 6743 .loc 14 1687 9 view .LVU1785 6744 006c FFF7FEFF bl USB_DevDisconnect.isra.0 @ 6745 .LVL329: 6746 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1689: if ( 1688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((hpcd->Init.battery_charging_enable == 1U) && 6747 .loc 14 1689 18 view .LVU1786 6748 0070 A56A ldr r5, [r4, #40] @ _111, hpcd_USB_OTG.Init.battery_charging_enable 6749 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1689: if ( 6750 .loc 14 1689 6 view .LVU1787 6751 0072 8D42 cmp r5, r1 @ _111, 6752 0074 06D1 bne .L520 @, 6753 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1689: if ( 6754 .loc 14 1689 50 discriminator 1 view .LVU1788 6755 0076 A369 ldr r3, [r4, #24] @ hpcd_USB_OTG.Init.phy_itface, hpcd_USB_OTG.Init.phy_itface 6756 0078 8B42 cmp r3, r1 @ hpcd_USB_OTG.Init.phy_itface, 6757 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1693: US 1690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 1691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Disable USB Transceiver */ 1693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 6758 .loc 14 1693 9 view .LVU1789 6759 007a 1EBF ittt ne 6760 007c 836B ldrne r3, [r0, #56] @ _113, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6761 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1693: US 6762 .loc 14 1693 17 view .LVU1790 6763 007e 23F48033 bicne r3, r3, #65536 @ _114, _113, 6764 0082 8363 strne r3, [r0, #56] @ _114, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6765 .L520: 6766 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1696: __HA 1694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 6767 .loc 14 1696 3 view .LVU1791 6768 0084 0023 movs r3, #0 @ tmp277, 6769 .LBE554: 6770 .LBE553: 6771 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:115: HAL_Delay(50); ARM GAS /tmp/ccJhhmLc.s page 478 115:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCD_DevConnect(pcdHandle); 6772 .loc 13 115 3 view .LVU1792 6773 0086 3220 movs r0, #50 @, 6774 .LBB556: 6775 .LBB555: 6776 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1696: __HA 6777 .loc 14 1696 3 view .LVU1793 6778 0088 84F8BC33 strb r3, [r4, #956] @ tmp277, hpcd_USB_OTG.Lock 6779 .LVL330: 6780 .loc 14 1696 3 is_stmt 0 view .LVU1794 6781 .LBE555: 6782 .LBE556: 6783 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:115: HAL_Delay(50); 115:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_PCD_DevConnect(pcdHandle); 6784 .loc 13 115 3 is_stmt 1 view .LVU1795 6785 008c FFF7FEFF bl HAL_Delay @ 6786 .LVL331: 6787 .LBB557: 6788 .LBB558: 6789 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1663: __HA 1663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6790 .loc 14 1663 3 discriminator 2 view .LVU1796 6791 0090 0123 movs r3, #1 @ tmp280, 6792 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1665: if ( 1665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 6793 .loc 14 1665 6 view .LVU1797 6794 0092 9D42 cmp r5, r3 @ _111, 6795 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1663: __HA 1663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6796 .loc 14 1663 3 discriminator 2 view .LVU1798 6797 0094 84F8BC33 strb r3, [r4, #956] @ tmp280, hpcd_USB_OTG.Lock 6798 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1665: if ( 1665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 6799 .loc 14 1665 6 view .LVU1799 6800 0098 08D1 bne .L521 @, 6801 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1665: if ( 1665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 6802 .loc 14 1665 50 discriminator 1 view .LVU1800 6803 009a A369 ldr r3, [r4, #24] @ hpcd_USB_OTG.Init.phy_itface, hpcd_USB_OTG.Init.phy_itface 6804 009c 012B cmp r3, #1 @ hpcd_USB_OTG.Init.phy_itface, 6805 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1669: US 1669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 6806 .loc 14 1669 9 view .LVU1801 6807 009e 1FBF itttt ne 6808 00a0 4FF0A042 movne r2, #1342177280 @ tmp284, 6809 00a4 936B ldrne r3, [r2, #56] @ _106, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6810 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1669: US 1669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 6811 .loc 14 1669 17 view .LVU1802 6812 00a6 43F48033 orrne r3, r3, #65536 @ _107, _106, 6813 00aa 9363 strne r3, [r2, #56] @ _107, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6814 .L521: 6815 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1671: (voi 1671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 6816 .loc 14 1671 9 view .LVU1803 6817 00ac 4FF0A040 mov r0, #1342177280 @, 6818 00b0 FFF7FEFF bl USB_DevConnect.isra.0 @ ARM GAS /tmp/ccJhhmLc.s page 479 6819 .LVL332: 6820 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1672: __HA 1672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6821 .loc 14 1672 3 view .LVU1804 6822 00b4 0023 movs r3, #0 @ tmp287, 6823 00b6 84F8BC33 strb r3, [r4, #956] @ tmp287, hpcd_USB_OTG.Lock 6824 .LVL333: 6825 .L519: 1672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6826 .loc 14 1672 3 is_stmt 0 view .LVU1805 6827 .LBE558: 6828 .LBE557: 6829 .LBE547: 6830 .LBE546: 6831 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:175: if (( 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 6832 .loc 14 175 12 is_stmt 1 view .LVU1806 6833 00ba 4FF0A045 mov r5, #1342177280 @ tmp292, 6834 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:172: hpcd- 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 6835 .loc 14 172 15 view .LVU1807 6836 00be 0323 movs r3, #3 @ tmp290, 6837 00c0 84F8BD33 strb r3, [r4, #957] @ tmp290, hpcd_USB_OTG.State 6838 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:175: if (( 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 6839 .loc 14 175 12 view .LVU1808 6840 00c4 EB6B ldr r3, [r5, #60] @ _64, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].CID 6841 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:175: if (( 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 6842 .loc 14 175 6 view .LVU1809 6843 00c6 13F48073 ands r3, r3, #256 @ _65, _64, 6844 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:177: hpc 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 6845 .loc 14 177 27 view .LVU1810 6846 00ca 08BF it eq 6847 00cc 2361 streq r3, [r4, #16] @ _65, hpcd_USB_OTG.Init.dma_enable 6848 .LVL334: 6849 .LBB559: 6850 .LBB560: 6851 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:236: USBx-> 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 6852 .loc 2 236 7 view .LVU1811 6853 00ce AB68 ldr r3, [r5, #8] @ _141, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6854 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:236: USBx-> 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 6855 .loc 2 236 17 view .LVU1812 6856 00d0 23F00103 bic r3, r3, #1 @ _142, _141, 6857 00d4 AB60 str r3, [r5, #8] @ _142, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6858 .LVL335: 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 6859 .loc 2 236 17 is_stmt 0 view .LVU1813 6860 .LBE560: 6861 .LBE559: 6862 .LBB561: 6863 .LBB562: 6864 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:86: if (cfg 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/ccJhhmLc.s page 480 6865 .loc 2 86 6 is_stmt 1 view .LVU1814 6866 00d6 A369 ldr r3, [r4, #24] @ MEM[(unsigned int *)&hpcd_USB_OTG + 24B], MEM[(unsigned int *)&hpcd_USB_OTG + 6867 00d8 2669 ldr r6, [r4, #16] @ _84, MEM[(unsigned int *)&hpcd_USB_OTG + 16B] 6868 .LVL336: 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 6869 .loc 2 86 6 is_stmt 0 view .LVU1815 6870 00da 012B cmp r3, #1 @ MEM[(unsigned int *)&hpcd_USB_OTG + 24B], 6871 00dc 3BD1 bne .L523 @, 6872 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:88: USBx- 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 6873 .loc 2 88 9 is_stmt 1 view .LVU1816 6874 00de AB6B ldr r3, [r5, #56] @ _117, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6875 00e0 626B ldr r2, [r4, #52] @ _87, MEM[(unsigned int *)&hpcd_USB_OTG + 52B] 6876 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:88: USBx- 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 6877 .loc 2 88 17 view .LVU1817 6878 00e2 23F48033 bic r3, r3, #65536 @ _118, _117, 6879 00e6 AB63 str r3, [r5, #56] @ _118, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 6880 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:91: USBx- 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 6881 .loc 2 91 9 view .LVU1818 6882 00e8 EB68 ldr r3, [r5, #12] @ _119, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6883 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:91: USBx- 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 6884 .loc 2 91 19 view .LVU1819 6885 00ea 23F48403 bic r3, r3, #4325376 @ _120, _119, 6886 00ee 23F04003 bic r3, r3, #64 @ _120, _120, 6887 00f2 EB60 str r3, [r5, #12] @ _120, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6888 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:94: USBx- 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.use_external_vbus == 1U) 6889 .loc 2 94 9 view .LVU1820 6890 00f4 EB68 ldr r3, [r5, #12] @ _121, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6891 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:94: USBx- 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (cfg.use_external_vbus == 1U) 6892 .loc 2 94 19 view .LVU1821 6893 00f6 23F44013 bic r3, r3, #3145728 @ _122, _121, 6894 00fa EB60 str r3, [r5, #12] @ _122, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6895 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:95: if (c 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 6896 .loc 2 95 8 view .LVU1822 6897 00fc 012A cmp r2, #1 @ _87, 6898 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:97: USB 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 6899 .loc 2 97 11 view .LVU1823 6900 00fe 02BF ittt eq 6901 0100 EB68 ldreq r3, [r5, #12] @ _124, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6902 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:97: USB 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 6903 .loc 2 97 21 view .LVU1824 6904 0102 43F48013 orreq r3, r3, #1048576 @ _125, _124, 6905 0106 EB60 streq r3, [r5, #12] @ _125, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 6906 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:101: ret 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 6907 .loc 2 101 11 view .LVU1825 6908 0108 4FF0A040 mov r0, #1342177280 @, 6909 010c FFF7FEFF bl USB_CoreReset.lto_priv.0 @ 6910 .LVL337: ARM GAS /tmp/ccJhhmLc.s page 481 6911 .L525: 6912 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:123: if (cf 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 6913 .loc 2 123 6 view .LVU1826 6914 0110 012E cmp r6, #1 @ _84, 6915 0112 09D1 bne .L528 @, 6916 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:125: USBx 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 6917 .loc 2 125 9 view .LVU1827 6918 0114 4FF0A043 mov r3, #1342177280 @ tmp320, 6919 0118 9A68 ldr r2, [r3, #8] @ _136, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6920 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:125: USBx 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 6921 .loc 2 125 19 view .LVU1828 6922 011a 42F00602 orr r2, r2, #6 @ _137, _136, 6923 011e 9A60 str r2, [r3, #8] @ _137, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6924 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:126: USBx 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 6925 .loc 2 126 9 view .LVU1829 6926 0120 9A68 ldr r2, [r3, #8] @ _138, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6927 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:126: USBx 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 6928 .loc 2 126 19 view .LVU1830 6929 0122 42F02002 orr r2, r2, #32 @ _139, _138, 6930 0126 9A60 str r2, [r3, #8] @ _139, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GAHBCFG 6931 .L528: 6932 .LVL338: 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 6933 .loc 2 126 19 is_stmt 0 view .LVU1831 6934 .LBE562: 6935 .LBE561: 6936 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:184: if (U 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 6937 .loc 14 184 6 is_stmt 1 discriminator 1 view .LVU1832 6938 0128 80B3 cbz r0, .L529 @ ret, 6939 .L572: 6940 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:221: hpc 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 6941 .loc 14 221 17 view .LVU1833 6942 012a 0223 movs r3, #2 @ tmp490, 6943 012c 84F8BD33 strb r3, [r4, #957] @ tmp490, 6944 .L530: 6945 .LVL339: 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 6946 .loc 14 221 17 is_stmt 0 view .LVU1834 6947 .LBE583: 6948 .LBE585: 6949 .LBB586: 6950 .LBB587: 6951 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:115: hp 6952 .file 16 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @file stm32f4xx_hal_pcd_ex.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * This file provides firmware functions to manage the following ARM GAS /tmp/ccJhhmLc.s page 482 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * functionalities of the USB Peripheral Controller: 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * + Extended features functions 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** ****************************************************************************** 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @attention 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** *

© Copyright (c) 2016 STMicroelectronics. 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * All rights reserved.

15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * the "License"; You may not use this file except in compliance with the 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * License. You may obtain a copy of the License at: 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * opensource.org/licenses/BSD-3-Clause 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** ****************************************************************************** 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** */ 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* Includes ------------------------------------------------------------------*/ 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** #include "stm32f4xx_hal.h" 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /** @addtogroup STM32F4xx_HAL_Driver 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @{ 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** */ 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /** @defgroup PCDEx PCDEx 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @{ 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** */ 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** #ifdef HAL_PCD_MODULE_ENABLED 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* Private types -------------------------------------------------------------*/ 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* Private variables ---------------------------------------------------------*/ 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* Private constants ---------------------------------------------------------*/ 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* Private macros ------------------------------------------------------------*/ 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* Private functions ---------------------------------------------------------*/ 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* Exported functions --------------------------------------------------------*/ 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @{ 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** */ 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions_Group1 Peripheral Control functions 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @brief PCDEx control functions 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** @verbatim 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** =============================================================================== 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** ##### Extended features functions ##### 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** =============================================================================== 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** [..] This section provides functions allowing to: 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** (+) Update FIFO configuration 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** @endverbatim 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @{ 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** */ 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** #if defined (USB_OTG_FS) || defined (USB_OTG_HS) ARM GAS /tmp/ccJhhmLc.s page 483 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /** 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @brief Set Tx FIFO 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @param fifo The number of Tx fifo 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @param size Fifo size 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @retval HAL status 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** */ 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size) 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** { 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** uint8_t i; 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** uint32_t Tx_Offset; 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* TXn min size = 16 words. (n : Transmit FIFO index) 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** When a TxFIFO is not used, the Configuration should be as follows: 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** case 1 : n > m and Txn is not used (n,m : Transmit FIFO indexes) 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** --> Txm can use the space allocated for Txn. 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** case2 : n < m and Txn is not used (n,m : Transmit FIFO indexes) 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** --> Txn should be configured with the minimum space of 16 words 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** The FIFO is used optimally when used TxFIFOs are allocated in the top 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** of the FIFO.Ex: use EP1 and EP2 as IN instead of EP1 and EP3 as IN ones. 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** When DMA is used 3n * FIFO locations should be reserved for internal DMA registers */ 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** Tx_Offset = hpcd->Instance->GRXFSIZ; 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** if (fifo == 0U) 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** { 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset; 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** else 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** { 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16; 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++) 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** { 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16); 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /* Multiply Tx_Size by 2 to get higher performance */ 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset; 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** return HAL_OK; 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** /** 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @brief Set Rx FIFO 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @param hpcd PCD handle 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @param size Size of Rx fifo 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** * @retval HAL status 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** */ 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size) 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** { 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** hpcd->Instance->GRXFSIZ = size; 6953 .loc 16 115 27 is_stmt 1 view .LVU1835 6954 0130 4FF0A043 mov r3, #1342177280 @ tmp498, 6955 0134 8022 movs r2, #128 @ tmp499, 6956 0136 5A62 str r2, [r3, #36] @ tmp499, MEM[(struct PCD_TypeDef *)1342177280B].GRXFSIZ 6957 .LVL340: ARM GAS /tmp/ccJhhmLc.s page 484 6958 .loc 16 115 27 is_stmt 0 view .LVU1836 6959 .LBE587: 6960 .LBE586: 6961 .LBB588: 6962 .LBB589: 6963 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:86: Tx_ 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 6964 .loc 16 86 13 is_stmt 1 view .LVU1837 6965 0138 5A6A ldr r2, [r3, #36] @ Tx_Offset, MEM[(struct PCD_TypeDef *)1342177280B].GRXFSIZ 6966 .LVL341: 6967 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:90: h 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 6968 .loc 16 90 65 view .LVU1838 6969 013a 42F48002 orr r2, r2, #4194304 @ _43, Tx_Offset, 6970 .LVL342: 6971 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:90: h 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 6972 .loc 16 90 40 view .LVU1839 6973 013e 9A62 str r2, [r3, #40] @ _43, MEM[(struct PCD_TypeDef *)1342177280B].DIEPTXF0_HNPTXFSIZ 6974 .LVL343: 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 6975 .loc 16 90 40 is_stmt 0 view .LVU1840 6976 .LBE589: 6977 .LBE588: 6978 .LBB590: 6979 .LBB591: 6980 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:86: Tx_ 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** 6981 .loc 16 86 13 is_stmt 1 view .LVU1841 6982 0140 5A6A ldr r2, [r3, #36] @ Tx_Offset, MEM[(struct PCD_TypeDef *)1342177280B].GRXFSIZ 6983 .LVL344: 6984 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:94: T 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++) 6985 .loc 16 94 33 view .LVU1842 6986 0142 996A ldr r1, [r3, #40] @ _23, MEM[(struct PCD_TypeDef *)1342177280B].DIEPTXF0_HNPTXFSIZ 6987 .LVL345: 6988 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:94: T 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++) 6989 .loc 16 94 15 view .LVU1843 6990 0144 02EB1142 add r2, r2, r1, lsr #16 @ Tx_Offset_25, Tx_Offset, _23, 6991 .LVL346: 6992 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:101: 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 6993 .loc 16 101 65 view .LVU1844 6994 0148 42F40002 orr r2, r2, #8388608 @ _38, Tx_Offset_25, 6995 .LVL347: 6996 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c:101: 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 6997 .loc 16 101 40 view .LVU1845 6998 014c C3F80421 str r2, [r3, #260] @ _38, MEM[(struct PCD_TypeDef *)1342177280B].DIEPTXF[0] 6999 .LVL348: 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd_ex.c **** } 7000 .loc 16 101 40 is_stmt 0 view .LVU1846 7001 .LBE591: 7002 .LBE590: 7003 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:407: } 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** ARM GAS /tmp/ccJhhmLc.s page 485 7004 .loc 13 407 1 is_stmt 1 view .LVU1847 7005 0150 05B0 add sp, sp, #20 @,, 7006 .LCFI43: 7007 .cfi_remember_state 7008 .cfi_def_cfa_offset 36 7009 @ sp needed @ 7010 0152 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 7011 .LVL349: 7012 .L523: 7013 .LCFI44: 7014 .cfi_restore_state 7015 .LBB592: 7016 .LBB584: 7017 .LBB564: 7018 .LBB563: 7019 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:106: USBx 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7020 .loc 2 106 9 view .LVU1848 7021 0156 EB68 ldr r3, [r5, #12] @ _127, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7022 0158 A76A ldr r7, [r4, #40] @ _86, MEM[(unsigned int *)&hpcd_USB_OTG + 40B] 7023 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:106: USBx 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7024 .loc 2 106 19 view .LVU1849 7025 015a 43F04003 orr r3, r3, #64 @ _128, _127, 7026 015e EB60 str r3, [r5, #12] @ _128, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7027 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:109: ret 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7028 .loc 2 109 11 view .LVU1850 7029 0160 4FF0A040 mov r0, #1342177280 @, 7030 0164 FFF7FEFF bl USB_CoreReset.lto_priv.0 @ 7031 .LVL350: 7032 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:114: US 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7033 .loc 2 114 11 view .LVU1851 7034 0168 AB6B ldr r3, [r5, #56] @ _131, 7035 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:111: if ( 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7036 .loc 2 111 8 view .LVU1852 7037 016a 1FB9 cbnz r7, .L526 @ _86, 7038 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:114: US 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7039 .loc 2 114 19 view .LVU1853 7040 016c 43F48033 orr r3, r3, #65536 @ _132, _131, 7041 .L569: 7042 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:119: US 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7043 .loc 2 119 19 view .LVU1854 7044 0170 AB63 str r3, [r5, #56] @ _134, 7045 0172 CDE7 b .L525 @ 7046 .L526: 7047 0174 23F48033 bic r3, r3, #65536 @ _134, _133, 7048 0178 FAE7 b .L569 @ 7049 .L574: 7050 017a 00BF .align 2 7051 .L573: 7052 017c 00000000 .word hUsbDevice 7053 0180 00000000 .word hpcd_USB_OTG ARM GAS /tmp/ccJhhmLc.s page 486 7054 0184 00380240 .word 1073887232 7055 0188 00E100E0 .word -536813312 7056 .LVL351: 7057 .L529: 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7058 .loc 2 119 19 is_stmt 0 view .LVU1855 7059 .LBE563: 7060 .LBE564: 7061 .LBB565: 7062 .LBB566: 7063 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:253: USBx-> 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7064 .loc 2 253 7 is_stmt 1 view .LVU1856 7065 018c 4FF0A045 mov r5, #1342177280 @ tmp327, 7066 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:267: USBx 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7067 .loc 2 267 19 view .LVU1857 7068 0190 3226 movs r6, #50 @ ivtmp_162, 7069 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:253: USBx-> 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7070 .loc 2 253 7 view .LVU1858 7071 0192 EB68 ldr r3, [r5, #12] @ _143, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7072 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:253: USBx-> 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7073 .loc 2 253 17 view .LVU1859 7074 0194 23F0C043 bic r3, r3, #1610612736 @ _144, _143, 7075 0198 EB60 str r3, [r5, #12] @ _144, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7076 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:267: USBx 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7077 .loc 2 267 9 view .LVU1860 7078 019a EB68 ldr r3, [r5, #12] @ _151, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7079 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:267: USBx 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7080 .loc 2 267 19 view .LVU1861 7081 019c 43F08043 orr r3, r3, #1073741824 @ _152, _151, 7082 01a0 EB60 str r3, [r5, #12] @ _152, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GUSBCFG 7083 .LVL352: 7084 .L533: 7085 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:271: HA 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ms++; 7086 .loc 2 271 7 view .LVU1862 7087 01a2 0120 movs r0, #1 @, 7088 01a4 FFF7FEFF bl HAL_Delay @ 7089 .LVL353: 7090 .LBB567: 7091 .LBB568: 7092 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1303: retur 1194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadInterrupts: return the global USB interrupt status 1197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadInterrupts(USB_OTG_GlobalTypeDef *USBx) 1201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ARM GAS /tmp/ccJhhmLc.s page 487 1204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx->GINTSTS; 1205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx->GINTMSK; 1206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return tmpreg; 1208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadDevAllOutEpInterrupt: return the USB device OUT endpoints interrupt status 1212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadDevAllOutEpInterrupt(USB_OTG_GlobalTypeDef *USBx) 1216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_DEVICE->DAINT; 1221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 1222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((tmpreg & 0xffff0000U) >> 16); 1224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ReadDevAllInEpInterrupt: return the USB device IN endpoints interrupt status 1228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadDevAllInEpInterrupt(USB_OTG_GlobalTypeDef *USBx) 1232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_DEVICE->DAINT; 1237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DAINTMSK; 1238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((tmpreg & 0xFFFFU)); 1240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Returns Device OUT EP Interrupt register 1244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param epnum endpoint number 1246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 0 to 15 1247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval Device OUT EP Interrupt register 1248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadDevOutEPInterrupt(USB_OTG_GlobalTypeDef *USBx, uint8_t epnum) 1250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_OUTEP((uint32_t)epnum)->DOEPINT; 1255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg &= USBx_DEVICE->DOEPMSK; 1256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return tmpreg; 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** ARM GAS /tmp/ccJhhmLc.s page 488 1261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Returns Device IN EP Interrupt register 1262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param epnum endpoint number 1264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be a value from 0 to 15 1265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval Device IN EP Interrupt register 1266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_ReadDevInEPInterrupt(USB_OTG_GlobalTypeDef *USBx, uint8_t epnum) 1268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t tmpreg; 1271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t msk; 1272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t emp; 1273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** msk = USBx_DEVICE->DIEPMSK; 1275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** emp = USBx_DEVICE->DIEPEMPMSK; 1276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7; 1277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 1278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return tmpreg; 1280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief USB_ClearInterrupts: clear a USB interrupt 1284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param interrupt flag 1286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval None 1287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** void USB_ClearInterrupts(USB_OTG_GlobalTypeDef *USBx, uint32_t interrupt) 1289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GINTSTS |= interrupt; 1291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Returns USB core mode 1295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval return core mode : Host or Device 1297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : Host 1299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : Device 1300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USB_GetMode(USB_OTG_GlobalTypeDef *USBx) 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return ((USBx->GINTSTS) & 0x1U); 7093 .loc 2 1303 16 view .LVU1863 7094 01a8 6B69 ldr r3, [r5, #20] @ _155, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTSTS 7095 .LVL354: 7096 .loc 2 1303 16 is_stmt 0 view .LVU1864 7097 .LBE568: 7098 .LBE567: 7099 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:273: } wh 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7100 .loc 2 273 63 is_stmt 1 discriminator 2 view .LVU1865 7101 01aa DB07 lsls r3, r3, #31 @, _155, 7102 01ac 00F1A780 bmi .L531 @, 7103 .LVL355: 7104 .L534: 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } ARM GAS /tmp/ccJhhmLc.s page 489 7105 .loc 2 273 63 is_stmt 0 discriminator 2 view .LVU1866 7106 .LBE566: 7107 .LBE565: 7108 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:194: for ( 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 7109 .loc 14 194 30 is_stmt 1 discriminator 1 view .LVU1867 7110 01b0 0021 movs r1, #0 @ ivtmp.138, 7111 01b2 6568 ldr r5, [r4, #4] @ _75, hpcd_USB_OTG.Init.dev_endpoints 7112 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:197: hpc 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 7113 .loc 14 197 26 view .LVU1868 7114 01b4 1C26 movs r6, #28 @ tmp523, 7115 01b6 0127 movs r7, #1 @ tmp524, 7116 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:201: hpc 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 7117 .loc 14 201 25 view .LVU1869 7118 01b8 0846 mov r0, r1 @ tmp525, ivtmp.138 7119 .LVL356: 7120 .L532: 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 7121 .loc 14 201 25 is_stmt 0 view .LVU1870 7122 01ba CAB2 uxtb r2, r1 @ _108, ivtmp.138 7123 .LVL357: 7124 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:194: for ( 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 7125 .loc 14 194 18 is_stmt 1 discriminator 1 view .LVU1871 7126 01bc 9542 cmp r5, r2 @ _75, _108 7127 01be 01F10101 add r1, r1, #1 @ ivtmp.138, ivtmp.138, 7128 01c2 00F2A080 bhi .L535 @, 7129 01c6 0021 movs r1, #0 @ ivtmp.132, 7130 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:209: hpc 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 7131 .loc 14 209 27 view .LVU1872 7132 01c8 1C26 movs r6, #28 @ tmp521, 7133 01ca 0A46 mov r2, r1 @ tmp522, ivtmp.132 7134 .LVL358: 7135 .L536: 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 7136 .loc 14 209 27 is_stmt 0 view .LVU1873 7137 01cc C8B2 uxtb r0, r1 @ _115, ivtmp.132 7138 .LVL359: 7139 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:207: for ( 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 7140 .loc 14 207 18 is_stmt 1 discriminator 1 view .LVU1874 7141 01ce 8542 cmp r5, r0 @ _75, _115 7142 01d0 01F10101 add r1, r1, #1 @ ivtmp.132, ivtmp.132, 7143 01d4 00F2A580 bhi .L537 @, 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 7144 .loc 14 207 18 is_stmt 0 discriminator 1 view .LVU1875 7145 01d8 D4E906C3 ldrd ip, r3, [r4, #24] @ _91, _92, tmp229, 7146 01dc D4E90307 ldrd r0, r7, [r4, #12] @ _89, _90, tmp229, 7147 .LVL360: 7148 .LBB570: 7149 .LBB571: 7150 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:302: for (i 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7151 .loc 2 302 10 is_stmt 1 view .LVU1876 ARM GAS /tmp/ccJhhmLc.s page 490 7152 01e0 0022 movs r2, #0 @ i, 7153 01e2 E66A ldr r6, [r4, #44] @ _93, MEM[(unsigned int *)&hpcd_USB_OTG + 44B] 7154 .LVL361: 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7155 .loc 2 302 10 is_stmt 0 view .LVU1877 7156 01e4 0193 str r3, [sp, #4] @ _92, %sfp 7157 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:304: USBx 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7158 .loc 2 304 22 is_stmt 1 view .LVU1878 7159 01e6 9646 mov lr, r2 @ tmp425, i 7160 01e8 4FF0A043 mov r3, #1342177280 @ tmp421, 7161 .LVL362: 7162 .L538: 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7163 .loc 2 304 22 is_stmt 0 view .LVU1879 7164 01ec 9100 lsls r1, r2, #2 @ tmp424, i, 7165 01ee 01F1A041 add r1, r1, #1342177280 @ tmp423, tmp424, 7166 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:302: for (i 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7167 .loc 2 302 26 is_stmt 1 discriminator 3 view .LVU1880 7168 01f2 0132 adds r2, r2, #1 @ i, i, 7169 .LVL363: 7170 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:302: for (i 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7171 .loc 2 302 18 discriminator 1 view .LVU1881 7172 01f4 0F2A cmp r2, #15 @ i, 7173 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:304: USBx 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7174 .loc 2 304 22 view .LVU1882 7175 01f6 C1F804E1 str lr, [r1, #260] @ tmp425, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].DIEPTXF[i_261] 7176 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:302: for (i 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7177 .loc 2 302 18 discriminator 1 view .LVU1883 7178 01fa F7D1 bne .L538 @, 7179 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:327: if (cf 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7180 .loc 2 327 6 view .LVU1884 7181 01fc 002E cmp r6, #0 @ _93 7182 01fe 40F09D80 bne .L539 @ 7183 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:333: USBx 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; 7184 .loc 2 333 16 view .LVU1885 7185 0202 6E49 ldr r1, .L575 @ tmp426, 7186 0204 4A68 ldr r2, [r1, #4] @ _166, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DCTL 7187 .LVL364: 7188 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:333: USBx 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_NOVBUSSENS; 7189 .loc 2 333 23 view .LVU1886 7190 0206 42F00202 orr r2, r2, #2 @ _167, _166, 7191 020a 4A60 str r2, [r1, #4] @ _167, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DCTL 7192 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:334: USBx 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSBSEN; 7193 .loc 2 334 9 view .LVU1887 7194 020c 9A6B ldr r2, [r3, #56] @ _168, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7195 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:334: USBx 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSBSEN; 7196 .loc 2 334 17 view .LVU1888 ARM GAS /tmp/ccJhhmLc.s page 491 7197 020e 42F40012 orr r2, r2, #2097152 @ _169, _168, 7198 0212 9A63 str r2, [r3, #56] @ _169, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7199 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:335: USBx 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSASEN; 7200 .loc 2 335 9 view .LVU1889 7201 0214 9A6B ldr r2, [r3, #56] @ _170, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7202 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:335: USBx 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG &= ~USB_OTG_GCCFG_VBUSASEN; 7203 .loc 2 335 17 view .LVU1890 7204 0216 22F40022 bic r2, r2, #524288 @ _171, _170, 7205 021a 9A63 str r2, [r3, #56] @ _171, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7206 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:336: USBx 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7207 .loc 2 336 9 view .LVU1891 7208 021c 9A6B ldr r2, [r3, #56] @ _172, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7209 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:336: USBx 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7210 .loc 2 336 17 view .LVU1892 7211 021e 22F48022 bic r2, r2, #262144 @ _173, _172, 7212 .L570: 7213 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:342: USBx 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7214 .loc 2 342 17 view .LVU1893 7215 0222 9A63 str r2, [r3, #56] @ _177, 7216 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:347: USBx_P 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7217 .loc 2 347 16 view .LVU1894 7218 0224 4FF0A043 mov r3, #1342177280 @ tmp438, 7219 0228 0022 movs r2, #0 @ tmp439, 7220 022a C3F8002E str r2, [r3, #3584] @ tmp439, MEM[(volatile uint32_t *)1342180864B] 7221 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:350: USBx_D 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7222 .loc 2 350 14 view .LVU1895 7223 022e D3F80028 ldr r2, [r3, #2048] @ _182, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DCFG 7224 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:350: USBx_D 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7225 .loc 2 350 21 view .LVU1896 7226 0232 C3F80028 str r2, [r3, #2048] @ _182, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DCFG 7227 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:352: if (cf 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7228 .loc 2 352 6 view .LVU1897 7229 0236 BCF1010F cmp ip, #1 @ _91, 7230 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:350: USBx_D 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7231 .loc 2 350 14 view .LVU1898 7232 023a 03F50063 add r3, r3, #2048 @ tmp440, tmp440, 7233 .LBB572: 7234 .LBB573: 7235 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:526: USBx_D 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 7236 .loc 2 526 14 view .LVU1899 7237 023e 1A68 ldr r2, [r3] @ _220, 7238 .LBE573: 7239 .LBE572: 7240 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:352: if (cf 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7241 .loc 2 352 6 view .LVU1900 ARM GAS /tmp/ccJhhmLc.s page 492 7242 0240 40F08780 bne .L541 @, 7243 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:354: if ( 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7244 .loc 2 354 8 view .LVU1901 7245 0244 0028 cmp r0, #0 @ _89 7246 0246 40F08180 bne .L542 @ 7247 .L571: 7248 .LBB574: 7249 .LBB575: 7250 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:526: USBx_D 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 7251 .loc 2 526 21 view .LVU1902 7252 024a 1A60 str r2, [r3] @ _234, 7253 .LBE575: 7254 .LBE574: 7255 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:372: if (US 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7256 .loc 2 372 7 view .LVU1903 7257 024c 1021 movs r1, #16 @, 7258 024e 4FF0A040 mov r0, #1342177280 @, 7259 0252 FFF7FEFF bl USB_FlushTxFifo @ 7260 .LVL365: 7261 0256 8046 mov r8, r0 @ tmp448, tmp532 7262 .LVL366: 7263 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:377: if (US 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7264 .loc 2 377 7 view .LVU1904 7265 0258 4FF0A040 mov r0, #1342177280 @, 7266 025c FFF7FEFF bl USB_FlushRxFifo @ 7267 .LVL367: 7268 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:383: USBx_D 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 7269 .loc 2 383 24 view .LVU1905 7270 0260 5649 ldr r1, .L575 @ tmp451, 7271 0262 0023 movs r3, #0 @ tmp452, 7272 0264 48EA0002 orr r2, r8, r0 @ tmp450, tmp448, tmp533 7273 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:393: 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7274 .loc 2 393 31 view .LVU1906 7275 0268 5548 ldr r0, .L575+4 @ tmp518, 7276 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:383: USBx_D 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 7277 .loc 2 383 24 view .LVU1907 7278 026a 0B61 str r3, [r1, #16] @ tmp452, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DIEPMSK 7279 026c D2B2 uxtb r2, r2 @ _104, tmp450 7280 .LVL368: 7281 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:384: USBx_D 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 7282 .loc 2 384 24 view .LVU1908 7283 026e 4B61 str r3, [r1, #20] @ tmp452, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DOEPMSK 7284 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:402: US 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7285 .loc 2 402 29 view .LVU1909 7286 0270 9C46 mov ip, r3 @ tmp516, i 7287 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:385: USBx_D 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7288 .loc 2 385 25 view .LVU1910 ARM GAS /tmp/ccJhhmLc.s page 493 7289 0272 CB61 str r3, [r1, #28] @ tmp452, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DAINTMSK 7290 .LVL369: 7291 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:397: 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7292 .loc 2 397 31 view .LVU1911 7293 0274 4FF09048 mov r8, #1207959552 @ tmp517, 7294 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:393: 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7295 .loc 2 393 31 view .LVU1912 7296 0278 4FF00069 mov r9, #134217728 @ tmp519, 7297 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:406: USBx 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7298 .loc 2 406 28 view .LVU1913 7299 027c 4FF67F3A movw r10, #64383 @ tmp520, 7300 .LVL370: 7301 .L544: 7302 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:387: for (i 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7303 .loc 2 387 18 discriminator 1 view .LVU1914 7304 0280 9D42 cmp r5, r3 @ _75, i 7305 0282 69D1 bne .L548 @, 7306 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:409: for (i 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7307 .loc 2 409 10 view .LVU1915 7308 0284 0021 movs r1, #0 @ i, 7309 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:415: 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7310 .loc 2 415 32 view .LVU1916 7311 0286 4F4D ldr r5, .L575+8 @ tmp513, 7312 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:424: US 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7313 .loc 2 424 30 view .LVU1917 7314 0288 8C46 mov ip, r1 @ tmp511, i 7315 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:419: 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7316 .loc 2 419 32 view .LVU1918 7317 028a 4FF09048 mov r8, #1207959552 @ tmp512, 7318 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:415: 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7319 .loc 2 415 32 view .LVU1919 7320 028e 4FF00069 mov r9, #134217728 @ tmp514, 7321 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:428: USBx 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7322 .loc 2 428 29 view .LVU1920 7323 0292 4FF67F3A movw r10, #64383 @ tmp515, 7324 .LVL371: 7325 .L549: 7326 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:409: for (i 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7327 .loc 2 409 18 discriminator 1 view .LVU1921 7328 0296 8B42 cmp r3, r1 @ i, i 7329 0298 77D1 bne .L553 @, 7330 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:431: USBx_D 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7331 .loc 2 431 14 view .LVU1922 7332 029a 4849 ldr r1, .L575 @ tmp473, 7333 029c 0B69 ldr r3, [r1, #16] @ _203, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DIEPMSK ARM GAS /tmp/ccJhhmLc.s page 494 7334 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:431: USBx_D 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7335 .loc 2 431 24 view .LVU1923 7336 029e 23F48073 bic r3, r3, #256 @ _204, _203, 7337 02a2 0B61 str r3, [r1, #16] @ _204, MEM[(struct USB_OTG_DeviceTypeDef *)1342179328B].DIEPMSK 7338 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:434: USBx-> 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7339 .loc 2 434 17 view .LVU1924 7340 02a4 4FF0A043 mov r3, #1342177280 @ tmp475, 7341 02a8 0021 movs r1, #0 @ tmp476, 7342 02aa 9961 str r1, [r3, #24] @ tmp476, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7343 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:437: USBx-> 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 7344 .loc 2 437 17 view .LVU1925 7345 02ac 6FF08041 mvn r1, #1073741824 @ tmp478, 7346 02b0 5961 str r1, [r3, #20] @ tmp478, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTSTS 7347 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:440: if (cf 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7348 .loc 2 440 6 view .LVU1926 7349 02b2 1FB9 cbnz r7, .L554 @ _90, 7350 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:442: USBx 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7351 .loc 2 442 9 view .LVU1927 7352 02b4 9969 ldr r1, [r3, #24] @ _206, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7353 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:442: USBx 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7354 .loc 2 442 19 view .LVU1928 7355 02b6 41F01001 orr r1, r1, #16 @ _207, _206, 7356 02ba 9961 str r1, [r3, #24] @ _207, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7357 .L554: 7358 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:446: USBx-> 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT | 7359 .loc 2 446 7 view .LVU1929 7360 02bc 9869 ldr r0, [r3, #24] @ _208, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7361 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:446: USBx-> 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT | 7362 .loc 2 446 17 view .LVU1930 7363 02be 4249 ldr r1, .L575+12 @ _209, 7364 02c0 0143 orrs r1, r1, r0 @, _209, _209, _208 7365 02c2 9961 str r1, [r3, #24] @ _209, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7366 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:451: if (cf 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7367 .loc 2 451 6 view .LVU1931 7368 02c4 0199 ldr r1, [sp, #4] @ _92, %sfp 7369 02c6 19B1 cbz r1, .L555 @ _92, 7370 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:453: USBx 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7371 .loc 2 453 9 view .LVU1932 7372 02c8 9969 ldr r1, [r3, #24] @ _211, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7373 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:453: USBx 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7374 .loc 2 453 19 view .LVU1933 7375 02ca 41F00801 orr r1, r1, #8 @ _212, _211, 7376 02ce 9961 str r1, [r3, #24] @ _212, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7377 .L555: 7378 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:456: if (cf 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/ccJhhmLc.s page 495 7379 .loc 2 456 6 view .LVU1934 7380 02d0 012E cmp r6, #1 @ _93, 7381 02d2 07D1 bne .L556 @, 7382 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:458: USBx 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7383 .loc 2 458 9 view .LVU1935 7384 02d4 4FF0A041 mov r1, #1342177280 @ tmp486, 7385 02d8 8B69 ldr r3, [r1, #24] @ _213, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7386 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:458: USBx 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7387 .loc 2 458 19 view .LVU1936 7388 02da 43F08043 orr r3, r3, #1073741824 @ _214, _213, 7389 02de 43F00403 orr r3, r3, #4 @ _214, _214, 7390 02e2 8B61 str r3, [r1, #24] @ _214, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GINTMSK 7391 .L556: 7392 .LVL372: 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7393 .loc 2 458 19 is_stmt 0 view .LVU1937 7394 .LBE571: 7395 .LBE570: 7396 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:219: if (U 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 7397 .loc 14 219 6 is_stmt 1 discriminator 1 view .LVU1938 7398 02e4 002A cmp r2, #0 @ _104 7399 02e6 7FF420AF bne .L572 @ 7400 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:226: hpcd- 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || 7401 .loc 14 226 15 view .LVU1939 7402 02ea 0123 movs r3, #1 @ tmp496, 7403 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:234: (void 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 7404 .loc 14 234 9 view .LVU1940 7405 02ec 4FF0A040 mov r0, #1342177280 @, 7406 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:225: hpcd- 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY; 7407 .loc 14 225 21 view .LVU1941 7408 02f0 84F83820 strb r2, [r4, #56] @ _104, hpcd_USB_OTG.USB_Address 7409 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:226: hpcd- 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || 7410 .loc 14 226 15 view .LVU1942 7411 02f4 84F8BD33 strb r3, [r4, #957] @ tmp496, hpcd_USB_OTG.State 7412 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:234: (void 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 7413 .loc 14 234 9 view .LVU1943 7414 02f8 FFF7FEFF bl USB_DevDisconnect.isra.0 @ 7415 .LVL373: 7416 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:236: retur 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 7417 .loc 14 236 10 view .LVU1944 7418 02fc 18E7 b .L530 @ 7419 .LVL374: 7420 .L531: 7421 .LBB581: 7422 .LBB569: 7423 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:273: } wh 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7424 .loc 2 273 63 discriminator 1 view .LVU1945 ARM GAS /tmp/ccJhhmLc.s page 496 7425 02fe 013E subs r6, r6, #1 @ ivtmp_162, ivtmp_162, 7426 .LVL375: 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7427 .loc 2 273 63 is_stmt 0 discriminator 1 view .LVU1946 7428 0300 7FF44FAF bne .L533 @, 7429 0304 54E7 b .L534 @ 7430 .LVL376: 7431 .L535: 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7432 .loc 2 273 63 discriminator 1 view .LVU1947 7433 .LBE569: 7434 .LBE581: 7435 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:197: hpc 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 7436 .loc 14 197 26 is_stmt 1 view .LVU1948 7437 0306 06FB0243 mla r3, r6, r2, r4 @ tmp337, tmp523, _108, tmp229 7438 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:203: hpc 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U; 7439 .loc 14 203 30 view .LVU1949 7440 030a C3E91100 strd r0, r0, [r3, #68] @ tmp525, tmp525, tmp337, 7441 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:197: hpc 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].num = i; 7442 .loc 14 197 26 view .LVU1950 7443 030e 83F83D70 strb r7, [r3, #61] @ tmp524, hpcd_USB_OTG.IN_ep[_71].is_in 7444 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:198: hpc 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i; 7445 .loc 14 198 24 view .LVU1951 7446 0312 83F83C20 strb r2, [r3, #60] @ _108, hpcd_USB_OTG.IN_ep[_71].num 7447 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:199: hpc 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 7448 .loc 14 199 32 view .LVU1952 7449 0316 A3F84220 strh r2, [r3, #66] @ movhi @ _108, hpcd_USB_OTG.IN_ep[_71].tx_fifo_num 7450 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:201: hpc 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U; 7451 .loc 14 201 25 view .LVU1953 7452 031a 83F83F00 strb r0, [r3, #63] @ tmp525, hpcd_USB_OTG.IN_ep[_71].type 7453 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:204: hpc 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 7454 .loc 14 204 29 view .LVU1954 7455 031e 1865 str r0, [r3, #80] @ tmp525, hpcd_USB_OTG.IN_ep[_71].xfer_len 7456 .LVL377: 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 7457 .loc 14 204 29 is_stmt 0 view .LVU1955 7458 0320 4BE7 b .L532 @ 7459 .LVL378: 7460 .L537: 7461 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:209: hpc 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 7462 .loc 14 209 27 is_stmt 1 view .LVU1956 7463 0322 06FB0043 mla r3, r6, r0, r4 @ tmp381, tmp521, _115, tmp229 7464 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:214: hpc 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U; 7465 .loc 14 214 31 view .LVU1957 7466 0326 C3E98122 strd r2, r2, [r3, #516] @ tmp522, tmp522, tmp381, 7467 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:209: hpc 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i; 7468 .loc 14 209 27 view .LVU1958 ARM GAS /tmp/ccJhhmLc.s page 497 7469 032a 83F8FD21 strb r2, [r3, #509] @ tmp522, hpcd_USB_OTG.OUT_ep[_77].is_in 7470 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:210: hpc 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Control until ep is activated */ 7471 .loc 14 210 25 view .LVU1959 7472 032e 83F8FC01 strb r0, [r3, #508] @ _115, hpcd_USB_OTG.OUT_ep[_77].num 7473 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:212: hpc 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U; 7474 .loc 14 212 26 view .LVU1960 7475 0332 83F8FF21 strb r2, [r3, #511] @ tmp522, hpcd_USB_OTG.OUT_ep[_77].type 7476 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:215: hpc 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 7477 .loc 14 215 30 view .LVU1961 7478 0336 C3F81022 str r2, [r3, #528] @ tmp522, hpcd_USB_OTG.OUT_ep[_77].xfer_len 7479 .LVL379: 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 7480 .loc 14 215 30 is_stmt 0 view .LVU1962 7481 033a 47E7 b .L536 @ 7482 .LVL380: 7483 .L539: 7484 .LBB582: 7485 .LBB580: 7486 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:341: USBx 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBUSBSEN; 7487 .loc 2 341 9 is_stmt 1 view .LVU1963 7488 033c 9A6B ldr r2, [r3, #56] @ _174, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7489 .LVL381: 7490 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:341: USBx 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx->GCCFG |= USB_OTG_GCCFG_VBUSBSEN; 7491 .loc 2 341 17 view .LVU1964 7492 033e 22F40012 bic r2, r2, #2097152 @ _175, _174, 7493 0342 9A63 str r2, [r3, #56] @ _175, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7494 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:342: USBx 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7495 .loc 2 342 9 view .LVU1965 7496 0344 9A6B ldr r2, [r3, #56] @ _176, MEM[(struct USB_OTG_GlobalTypeDef *)1342177280B].GCCFG 7497 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:342: USBx 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7498 .loc 2 342 17 view .LVU1966 7499 0346 42F40022 orr r2, r2, #524288 @ _177, _176, 7500 034a 6AE7 b .L570 @ 7501 .L542: 7502 .LVL382: 7503 .LBB577: 7504 .LBB578: 7505 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:526: USBx_D 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 7506 .loc 2 526 21 view .LVU1967 7507 034c 42F00102 orr r2, r2, #1 @ _228, _226, 7508 0350 7BE7 b .L571 @ 7509 .LVL383: 7510 .L541: 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 7511 .loc 2 526 21 is_stmt 0 view .LVU1968 7512 .LBE578: 7513 .LBE577: 7514 .LBB579: 7515 .LBB576: ARM GAS /tmp/ccJhhmLc.s page 498 7516 0352 42F00302 orr r2, r2, #3 @ _234, _232, 7517 0356 78E7 b .L571 @ 7518 .LVL384: 7519 .L548: 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 7520 .loc 2 526 21 view .LVU1969 7521 .LBE576: 7522 .LBE579: 7523 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:389: if ( 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7524 .loc 2 389 10 is_stmt 1 view .LVU1970 7525 0358 5901 lsls r1, r3, #5 @ _83, i, 7526 035a 01F1A041 add r1, r1, #1342177280 @ tmp458, _83, 7527 035e 01F5106E add lr, r1, #2304 @ _191, tmp458, 7528 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:389: if ( 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7529 .loc 2 389 22 view .LVU1971 7530 0362 D1F800B9 ldr fp, [r1, #2304] @ _192, _191->DIEPCTL 7531 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:389: if ( 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7532 .loc 2 389 8 view .LVU1972 7533 0366 BBF1000F cmp fp, #0 @ _192, 7534 036a 0BDA bge .L545 @, 7535 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:391: if 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7536 .loc 2 391 10 view .LVU1973 7537 036c 3BB9 cbnz r3, .L546 @ i, 7538 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:393: 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7539 .loc 2 393 31 view .LVU1974 7540 036e C0F80090 str r9, [r0] @ tmp519, MEM[(struct USB_OTG_INEndpointTypeDef *)1342179584B].DIEPCTL 7541 .L547: 7542 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:405: USBx 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(i)->DIEPINT = 0xFB7FU; 7543 .loc 2 405 28 view .LVU1975 7544 0372 CEF810C0 str ip, [lr, #16] @ tmp516, _191->DIEPTSIZ 7545 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:387: for (i 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7546 .loc 2 387 40 discriminator 2 view .LVU1976 7547 0376 0133 adds r3, r3, #1 @ i, i, 7548 .LVL385: 7549 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:406: USBx 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7550 .loc 2 406 28 view .LVU1977 7551 0378 CEF808A0 str r10, [lr, #8] @ tmp520, _191->DIEPINT 7552 037c 80E7 b .L544 @ 7553 .LVL386: 7554 .L546: 7555 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:397: 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7556 .loc 2 397 31 view .LVU1978 7557 037e C1F80089 str r8, [r1, #2304] @ tmp517, _191->DIEPCTL 7558 0382 F6E7 b .L547 @ 7559 .L545: 7560 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:402: US 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7561 .loc 2 402 29 view .LVU1979 ARM GAS /tmp/ccJhhmLc.s page 499 7562 0384 C1F800C9 str ip, [r1, #2304] @ tmp516, _191->DIEPCTL 7563 0388 F3E7 b .L547 @ 7564 .LVL387: 7565 .L553: 7566 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:411: if ( 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7567 .loc 2 411 10 view .LVU1980 7568 038a 4801 lsls r0, r1, #5 @ _215, i, 7569 038c 00F1A040 add r0, r0, #1342177280 @ tmp466, _215, 7570 0390 00F5306E add lr, r0, #2816 @ _199, tmp466, 7571 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:411: if ( 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7572 .loc 2 411 23 view .LVU1981 7573 0394 D0F800BB ldr fp, [r0, #2816] @ _200, _199->DOEPCTL 7574 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:411: if ( 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7575 .loc 2 411 8 view .LVU1982 7576 0398 BBF1000F cmp fp, #0 @ _200, 7577 039c 0BDA bge .L550 @, 7578 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:413: if 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7579 .loc 2 413 10 view .LVU1983 7580 039e 39B9 cbnz r1, .L551 @ i, 7581 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:415: 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7582 .loc 2 415 32 view .LVU1984 7583 03a0 C5F80090 str r9, [r5] @ tmp514, MEM[(struct USB_OTG_OUTEndpointTypeDef *)1342180096B].DOEPCTL 7584 .L552: 7585 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:427: USBx 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 7586 .loc 2 427 29 view .LVU1985 7587 03a4 CEF810C0 str ip, [lr, #16] @ tmp511, _199->DOEPTSIZ 7588 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:409: for (i 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 7589 .loc 2 409 40 discriminator 2 view .LVU1986 7590 03a8 0131 adds r1, r1, #1 @ i, i, 7591 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:428: USBx 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7592 .loc 2 428 29 view .LVU1987 7593 03aa CEF808A0 str r10, [lr, #8] @ tmp515, _199->DOEPINT 7594 03ae 72E7 b .L549 @ 7595 .L551: 7596 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:419: 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7597 .loc 2 419 32 view .LVU1988 7598 03b0 C0F8008B str r8, [r0, #2816] @ tmp512, _199->DOEPCTL 7599 03b4 F6E7 b .L552 @ 7600 .L550: 7601 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:424: US 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 7602 .loc 2 424 30 view .LVU1989 7603 03b6 C0F800CB str ip, [r0, #2816] @ tmp511, _199->DOEPCTL 7604 03ba F3E7 b .L552 @ 7605 .L576: 7606 .align 2 7607 .L575: 7608 03bc 00080050 .word 1342179328 ARM GAS /tmp/ccJhhmLc.s page 500 7609 03c0 00090050 .word 1342179584 7610 03c4 000B0050 .word 1342180096 7611 03c8 00383C80 .word -2143537152 7612 .LBE580: 7613 .LBE582: 7614 .LBE584: 7615 .LBE592: 7616 .cfi_endproc 7617 .LFE80: 7618 .size USBD_LL_Init.part.0.constprop.0, .-USBD_LL_Init.part.0.constprop.0 7619 .section .text.FLASH_WaitForLastOperation.constprop.0,"ax",%progbits 7620 .align 1 7621 .global FLASH_WaitForLastOperation.constprop.0 7622 .hidden FLASH_WaitForLastOperation.constprop.0 7623 .syntax unified 7624 .thumb 7625 .thumb_func 7626 .type FLASH_WaitForLastOperation.constprop.0, %function 7627 FLASH_WaitForLastOperation.constprop.0: 7628 .LFB110: 7629 .file 17 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @file stm32f4xx_hal_flash.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief FLASH HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * This file provides firmware functions to manage the following 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * functionalities of the internal FLASH memory: 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * + Program operations functions 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * + Memory Control functions 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * + Peripheral Errors functions 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @verbatim 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ============================================================================== 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ##### FLASH peripheral features ##### 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ============================================================================== 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** [..] The Flash memory interface manages CPU AHB I-Code and D-Code accesses 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** to the Flash memory. It implements the erase and program Flash memory operations 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** and the read and write protection mechanisms. 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** [..] The Flash memory interface accelerates code execution with a system of instruction 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** prefetch and cache lines. 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** [..] The FLASH main features are: 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Flash memory read operations 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Flash memory program/erase operations 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Read / write protections 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Prefetch on I-Code 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) 64 cache lines of 128 bits on I-Code 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) 8 cache lines of 128 bits on D-Code 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ##### How to use this driver ##### 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ============================================================================== 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** [..] 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** This driver provides functions and macros to configure and program the FLASH ARM GAS /tmp/ccJhhmLc.s page 501 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** memory of all STM32F4xx devices. 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (#) FLASH Memory IO Programming functions: 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_FLASH_Lock() functions 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (++) Program functions: byte, half word, word and double word 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (++) There Two modes of programming : 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+++) Polling mode using HAL_FLASH_Program() function 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+++) Interrupt mode using HAL_FLASH_Program_IT() function 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (#) Interrupts and flags management functions : 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (++) Handle FLASH interrupts by calling HAL_FLASH_IRQHandler() 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (++) Wait for last FLASH operation according to its status 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (++) Get error flag status by calling HAL_SetErrorCode() 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** [..] 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** In addition to these functions, this driver includes a set of macros allowing 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** to handle the following operations: 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Set the latency 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Enable/Disable the prefetch buffer 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Enable/Disable the Instruction cache and the Data cache 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Reset the Instruction cache and the Data cache 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Enable/Disable the FLASH interrupts 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (+) Monitor the FLASH flags status 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @endverbatim 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ****************************************************************************** 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @attention 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** *

© Copyright (c) 2017 STMicroelectronics. 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * All rights reserved.

68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * This software component is licensed by ST under BSD 3-Clause license, 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * the "License"; You may not use this file except in compliance with the 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * License. You may obtain a copy of the License at: 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * opensource.org/licenses/BSD-3-Clause 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ****************************************************************************** 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Includes ------------------------------------------------------------------*/ 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #include "stm32f4xx_hal.h" 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @addtogroup STM32F4xx_HAL_Driver 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH FLASH 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief FLASH HAL module driver 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #ifdef HAL_FLASH_MODULE_ENABLED 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private typedef -----------------------------------------------------------*/ 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private define ------------------------------------------------------------*/ 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @addtogroup FLASH_Private_Constants ARM GAS /tmp/ccJhhmLc.s page 502 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #define FLASH_TIMEOUT_VALUE 50000U /* 50 s */ 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @} 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private macro -------------------------------------------------------------*/ 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private variables ---------------------------------------------------------*/ 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @addtogroup FLASH_Private_Variables 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Variable used for Erase sectors under interruption */ 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_ProcessTypeDef pFlash; 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @} 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Private function prototypes -----------------------------------------------*/ 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @addtogroup FLASH_Private_Functions 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Program operations */ 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data); 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_Word(uint32_t Address, uint32_t Data); 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data); 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_Byte(uint32_t Address, uint8_t Data); 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_SetErrorCode(void); 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout); 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @} 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Exported functions --------------------------------------------------------*/ 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions FLASH Exported Functions 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group1 Programming operation functions 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Programming operation functions 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @verbatim 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** =============================================================================== 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ##### Programming operation functions ##### 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** =============================================================================== 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** [..] 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** This subsection provides a set of functions allowing to manage the FLASH 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** program operations. 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @endverbatim 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Program byte, halfword, word or double word at a specified address 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param TypeProgram Indicate the way to program at a specified address. 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program ARM GAS /tmp/ccJhhmLc.s page 503 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Address specifies the address to be programmed. 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Data specifies the data to be programmed 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data) 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR; 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Process Locked */ 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_LOCK(&pFlash); 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check the parameters */ 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram)); 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Wait for last operation to be completed */ 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(status == HAL_OK) 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_BYTE) 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program byte (8-bit) at a specified address.*/ 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Program_Byte(Address, (uint8_t) Data); 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD) 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program halfword (16-bit) at a specified address.*/ 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Program_HalfWord(Address, (uint16_t) Data); 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD) 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program word (32-bit) at a specified address.*/ 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Program_Word(Address, (uint32_t) Data); 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program double word (64-bit) at a specified address.*/ 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Program_DoubleWord(Address, Data); 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Wait for last operation to be completed */ 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* If the program operation is completed, disable the PG Bit */ 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR &= (~FLASH_CR_PG); 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Process Unlocked */ 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_UNLOCK(&pFlash); 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return status; 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Program byte, halfword, word or double word at a specified address with interrupt ena 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param TypeProgram Indicate the way to program at a specified address. ARM GAS /tmp/ccJhhmLc.s page 504 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Address specifies the address to be programmed. 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Data specifies the data to be programmed 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval HAL Status 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Address, uint64_t Data) 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Process Locked */ 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_LOCK(&pFlash); 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check the parameters */ 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram)); 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Enable End of FLASH Operation interrupt */ 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP); 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Enable Error source interrupt */ 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_ERR); 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAM; 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.Address = Address; 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_BYTE) 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program byte (8-bit) at a specified address.*/ 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Program_Byte(Address, (uint8_t) Data); 237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD) 239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program halfword (16-bit) at a specified address.*/ 241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Program_HalfWord(Address, (uint16_t) Data); 242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD) 244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program word (32-bit) at a specified address.*/ 246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Program_Word(Address, (uint32_t) Data); 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else 249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program double word (64-bit) at a specified address.*/ 251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Program_DoubleWord(Address, Data); 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return status; 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief This function handles FLASH interrupt request. 259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval None 260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** void HAL_FLASH_IRQHandler(void) 262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** uint32_t addresstmp = 0U; 264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ARM GAS /tmp/ccJhhmLc.s page 505 265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check FLASH operation error flags */ 266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #if defined(FLASH_SR_RDERR) 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \ 268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR | FLASH_FLAG_RDERR)) != RESET) 269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #else 270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \ 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET) 272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #endif /* FLASH_SR_RDERR */ 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE) 275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*return the faulty sector*/ 277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** addresstmp = pFlash.Sector; 278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.Sector = 0xFFFFFFFFU; 279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE) 281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*return the faulty bank*/ 283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** addresstmp = pFlash.Bank; 284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else 286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*return the faulty address*/ 288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** addresstmp = pFlash.Address; 289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Save the Error code*/ 292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_SetErrorCode(); 293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* FLASH error interrupt user callback */ 295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_FLASH_OperationErrorCallback(addresstmp); 296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Stop the procedure ongoing*/ 298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check FLASH End of Operation flag */ 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP) != RESET) 303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */ 305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP); 306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_SECTERASE) 308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Nb of sector to erased can be decreased*/ 310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.NbSectorsToErase--; 311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check if there are still sectors to erase*/ 313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(pFlash.NbSectorsToErase != 0U) 314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** addresstmp = pFlash.Sector; 316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Indicate user which sector has been erased*/ 317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp); 318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Increment sector number*/ 320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.Sector++; 321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** addresstmp = pFlash.Sector; ARM GAS /tmp/ccJhhmLc.s page 506 322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_Erase_Sector(addresstmp, pFlash.VoltageForErase); 323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else 325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*No more sectors to Erase, user callback can be called.*/ 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Reset Sector and stop Erase sectors procedure*/ 328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.Sector = addresstmp = 0xFFFFFFFFU; 329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Flush the caches to be sure of the data consistency */ 332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_FlushCaches() ; 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp); 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else 339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE) 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* MassErase ended. Return the selected bank */ 343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Flush the caches to be sure of the data consistency */ 344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_FlushCaches() ; 345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Bank); 348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Program ended. Return the selected address*/ 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* FLASH EOP interrupt user callback */ 353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address); 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE; 356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_NONE) 360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Operation is completed, disable the PG, SER, SNB and MER Bits */ 362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_PG | FLASH_CR_SER | FLASH_CR_SNB | FLASH_MER_BIT)); 363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Disable End of FLASH Operation interrupt */ 365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP); 366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Disable Error source interrupt */ 368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_ERR); 369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Process Unlocked */ 371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_UNLOCK(&pFlash); 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief FLASH end of operation interrupt callback 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param ReturnValue The value saved in this parameter depends on the ongoing procedure 378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * Mass Erase: Bank number which has been requested to erase ARM GAS /tmp/ccJhhmLc.s page 507 379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * Sectors Erase: Sector which has been erased 380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * (if 0xFFFFFFFFU, it means that all the selected sectors have been erased) 381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * Program: Address which was selected for data program 382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval None 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue) 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */ 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** UNUSED(ReturnValue); 388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed, 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** the HAL_FLASH_EndOfOperationCallback could be implemented in the user file 390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief FLASH operation error interrupt callback 395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param ReturnValue The value saved in this parameter depends on the ongoing procedure 396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * Mass Erase: Bank number which has been requested to erase 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * Sectors Erase: Sector number which returned an error 398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * Program: Address which was selected for data program 399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval None 400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue) 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */ 404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** UNUSED(ReturnValue); 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed, 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** the HAL_FLASH_OperationErrorCallback could be implemented in the user file 407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @} 412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group2 Peripheral Control functions 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief management functions 416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @verbatim 418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** =============================================================================== 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ##### Peripheral Control functions ##### 420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** =============================================================================== 421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** [..] 422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** This subsection provides a set of functions allowing to control the FLASH 423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** memory operations. 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @endverbatim 426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Unlock the FLASH control register access 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval HAL Status 432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Unlock(void) 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK; ARM GAS /tmp/ccJhhmLc.s page 508 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Authorize the FLASH Registers access */ 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY1); 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2); 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Verify Flash is unlocked */ 444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** status = HAL_ERROR; 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return status; 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Locks the FLASH control register access 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval HAL Status 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Lock(void) 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */ 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_CR_LOCK; 461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return HAL_OK; 463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Unlock the FLASH Option Control Registers access. 467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval HAL Status 468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void) 470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if((FLASH->OPTCR & FLASH_OPTCR_OPTLOCK) != RESET) 472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Authorizes the Option Byte register programming */ 474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->OPTKEYR = FLASH_OPT_KEY1; 475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->OPTKEYR = FLASH_OPT_KEY2; 476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** else 478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return HAL_ERROR; 480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return HAL_OK; 483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Lock the FLASH Option Control Registers access. 487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval HAL Status 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Lock(void) 490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Set the OPTLOCK Bit to lock the FLASH Option Byte Registers access */ 492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->OPTCR |= FLASH_OPTCR_OPTLOCK; ARM GAS /tmp/ccJhhmLc.s page 509 493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return HAL_OK; 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Launch the option byte loading. 499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval HAL Status 500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Launch(void) 502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Set the OPTSTRT bit in OPTCR register */ 504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** *(__IO uint8_t *)OPTCR_BYTE0_ADDRESS |= FLASH_OPTCR_OPTSTRT; 505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Wait for last operation to be completed */ 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return(FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE)); 508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @} 512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group3 Peripheral State and Errors functions 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Peripheral Errors functions 516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @verbatim 518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** =============================================================================== 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** ##### Peripheral Errors functions ##### 520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** =============================================================================== 521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** [..] 522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** This subsection permits to get in run-time Errors of the FLASH peripheral. 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** @endverbatim 525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @{ 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Get the specific FLASH error flag. 530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval FLASH_ErrorCode: The returned value can be a combination of: 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @arg HAL_FLASH_ERROR_RD: FLASH Read Protection error flag (PCROP) 532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @arg HAL_FLASH_ERROR_PGS: FLASH Programming Sequence error flag 533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @arg HAL_FLASH_ERROR_PGP: FLASH Programming Parallelism error flag 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @arg HAL_FLASH_ERROR_PGA: FLASH Programming Alignment error flag 535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @arg HAL_FLASH_ERROR_WRP: FLASH Write protected error flag 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @arg HAL_FLASH_ERROR_OPERATION: FLASH operation Error flag 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** uint32_t HAL_FLASH_GetError(void) 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return pFlash.ErrorCode; 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @} 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Wait for a FLASH operation to complete. 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Timeout maximum flash operationtimeout ARM GAS /tmp/ccJhhmLc.s page 510 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval HAL Status 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout) 7630 .loc 17 552 19 view -0 7631 .cfi_startproc 7632 @ args = 0, pretend = 0, frame = 0 7633 @ frame_needed = 0, uses_anonymous_args = 0 7634 .LVL388: 7635 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:557: pFl 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** uint32_t tickstart = 0U; 555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear Error Code */ 557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; 7636 .loc 17 557 20 view .LVU1991 7637 0000 2B4B ldr r3, .L611 @ tmp148, 7638 .LBB603: 7639 .LBB604: 7640 .LBB605: 7641 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 7642 .loc 5 56 10 view .LVU1992 7643 0002 2C48 ldr r0, .L611+4 @ tmp150, 7644 .LBE605: 7645 .LBE604: 7646 .LBE603: 7647 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:557: pFl 7648 .loc 17 557 20 view .LVU1993 7649 0004 0022 movs r2, #0 @ tmp149, 7650 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:552: HAL_S 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 7651 .loc 17 552 19 view .LVU1994 7652 0006 30B5 push {r4, r5, lr} @ 7653 .LCFI45: 7654 .cfi_def_cfa_offset 12 7655 .cfi_offset 4, -12 7656 .cfi_offset 5, -8 7657 .cfi_offset 14, -4 7658 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:557: pFl 7659 .loc 17 557 20 view .LVU1995 7660 0008 DA61 str r2, [r3, #28] @ tmp149, pFlash.ErrorCode 7661 .LBB608: 7662 .LBB607: 7663 .LBB606: 7664 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 7665 .loc 5 56 10 view .LVU1996 7666 000a 0468 ldr r4, [r0] @ _22, _ms_ticks 7667 .LVL389: 7668 .loc 5 56 10 is_stmt 0 view .LVU1997 7669 .LBE606: 7670 .LBE607: 7671 .LBE608: 7672 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:565: whi 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset. 560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** Even if the FLASH operation fails, the BUSY flag will be reset and an error 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** flag will be set */ 562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Get tick */ ARM GAS /tmp/ccJhhmLc.s page 511 563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** tickstart = HAL_GetTick(); 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 7673 .loc 17 565 9 is_stmt 1 view .LVU1998 7674 000c 2A4A ldr r2, .L611+8 @ tmp154, 7675 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:569: 566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(Timeout != HAL_MAX_DELAY) 568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) 7676 .loc 17 569 25 discriminator 1 view .LVU1999 7677 000e 4CF25035 movw r5, #50000 @ tmp204, 7678 .L578: 7679 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:565: whi 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 7680 .loc 17 565 9 view .LVU2000 7681 0012 D168 ldr r1, [r2, #12] @ _4, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7682 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:565: whi 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 7683 .loc 17 565 46 view .LVU2001 7684 0014 C903 lsls r1, r1, #15 @, _4, 7685 0016 44D4 bmi .L580 @, 7686 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:577: if 570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return HAL_TIMEOUT; 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check FLASH End of Operation flag */ 577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP) != RESET) 7687 .loc 17 577 7 view .LVU2002 7688 0018 D168 ldr r1, [r2, #12] @ _6, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7689 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:577: if 7690 .loc 17 577 6 view .LVU2003 7691 001a C807 lsls r0, r1, #31 @, _6, 7692 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:580: _ 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */ 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP); 7693 .loc 17 580 5 view .LVU2004 7694 001c 44BF itt mi 7695 001e 0121 movmi r1, #1 @ tmp159, 7696 0020 D160 strmi r1, [r2, #12] @ tmp159, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7697 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:583: if( 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #if defined(FLASH_SR_RDERR) 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \ 7698 .loc 17 583 6 view .LVU2005 7699 0022 D068 ldr r0, [r2, #12] @ _8, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7700 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:583: if( 7701 .loc 17 583 5 view .LVU2006 7702 0024 10F4F970 ands r0, r0, #498 @ _9, _8, 7703 0028 3AD0 beq .L579 @, 7704 .LBB609: 7705 .LBB610: 7706 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:715: if( ARM GAS /tmp/ccJhhmLc.s page 512 584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR | FLASH_FLAG_RDERR)) != RESET) 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #else 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG((FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \ 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR)) != RESET) 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #endif /* FLASH_SR_RDERR */ 589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /*Save the error code*/ 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH_SetErrorCode(); 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return HAL_ERROR; 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* If there is no error flag set */ 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** return HAL_OK; 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Program a double word (64-bit) at a specified address. 602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @note This function must be used when the device voltage range is from 603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 2.7V to 3.6V and Vpp in the range 7V to 9V. 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously, 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * the erase operation is performed before the program one. 607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Address specifies the address to be programmed. 609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Data specifies the data to be programmed. 610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval None 611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data) 613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check the parameters */ 615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** assert_param(IS_FLASH_ADDRESS(Address)); 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* If the previous operation is completed, proceed to program the new data */ 618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PSIZE); 619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_PSIZE_DOUBLE_WORD; 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_CR_PG; 621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Program first word */ 623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** *(__IO uint32_t*)Address = (uint32_t)Data; 624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Barrier to ensure programming is performed in 2 steps, in right order 626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** (independently of compiler optimization behavior) */ 627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __ISB(); 628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Program second word */ 630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** *(__IO uint32_t*)(Address+4) = (uint32_t)(Data >> 32); 631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Program word (32-bit) at a specified address. 636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @note This function must be used when the device voltage range is from 637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 2.7V to 3.6V. 638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously, 640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * the erase operation is performed before the program one. ARM GAS /tmp/ccJhhmLc.s page 513 641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Address specifies the address to be programmed. 643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Data specifies the data to be programmed. 644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval None 645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_Word(uint32_t Address, uint32_t Data) 647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check the parameters */ 649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** assert_param(IS_FLASH_ADDRESS(Address)); 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* If the previous operation is completed, proceed to program the new data */ 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PSIZE); 653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_PSIZE_WORD; 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_CR_PG; 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** *(__IO uint32_t*)Address = Data; 657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Program a half-word (16-bit) at a specified address. 661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @note This function must be used when the device voltage range is from 662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 2.1V to 3.6V. 663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously, 665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * the erase operation is performed before the program one. 666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Address specifies the address to be programmed. 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Data specifies the data to be programmed. 669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval None 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data) 672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check the parameters */ 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** assert_param(IS_FLASH_ADDRESS(Address)); 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* If the previous operation is completed, proceed to program the new data */ 677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PSIZE); 678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_PSIZE_HALF_WORD; 679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_CR_PG; 680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** *(__IO uint16_t*)Address = Data; 682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Program byte (8-bit) at a specified address. 686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @note This function must be used when the device voltage range is from 687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 1.8V to 3.6V. 688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously, 690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * the erase operation is performed before the program one. 691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * 692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Address specifies the address to be programmed. 693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @param Data specifies the data to be programmed. 694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval None 695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_Program_Byte(uint32_t Address, uint8_t Data) 697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { ARM GAS /tmp/ccJhhmLc.s page 514 698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Check the parameters */ 699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** assert_param(IS_FLASH_ADDRESS(Address)); 700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* If the previous operation is completed, proceed to program the new data */ 702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PSIZE); 703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_PSIZE_BYTE; 704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** FLASH->CR |= FLASH_CR_PG; 705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** *(__IO uint8_t*)Address = Data; 707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /** 710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @brief Set the specific FLASH error flag. 711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** * @retval None 712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** */ 713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** static void FLASH_SetErrorCode(void) 714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) != RESET) 7707 .loc 17 715 6 view .LVU2007 7708 002a D168 ldr r1, [r2, #12] @ _25, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7709 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:715: if( 7710 .loc 17 715 5 view .LVU2008 7711 002c C906 lsls r1, r1, #27 @, _25, 7712 002e 05D5 bpl .L582 @, 7713 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:717: pF 716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP; 7714 .loc 17 717 10 view .LVU2009 7715 0030 D969 ldr r1, [r3, #28] @ _27, pFlash.ErrorCode 7716 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:717: pF 7717 .loc 17 717 21 view .LVU2010 7718 0032 41F01001 orr r1, r1, #16 @ _28, _27, 7719 0036 D961 str r1, [r3, #28] @ _28, pFlash.ErrorCode 7720 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:720: __ 718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear FLASH write protection error pending bit */ 720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_WRPERR); 7721 .loc 17 720 4 view .LVU2011 7722 0038 1021 movs r1, #16 @ tmp167, 7723 003a D160 str r1, [r2, #12] @ tmp167, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7724 .L582: 7725 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:723: if( 721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGAERR) != RESET) 7726 .loc 17 723 6 view .LVU2012 7727 003c 1E4A ldr r2, .L611+8 @ tmp168, 7728 003e D168 ldr r1, [r2, #12] @ _29, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7729 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:723: if( 7730 .loc 17 723 5 view .LVU2013 7731 0040 8D06 lsls r5, r1, #26 @, _29, 7732 0042 05D5 bpl .L583 @, 7733 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:725: pF 724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_PGA; 7734 .loc 17 725 10 view .LVU2014 7735 0044 D969 ldr r1, [r3, #28] @ _31, pFlash.ErrorCode ARM GAS /tmp/ccJhhmLc.s page 515 7736 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:725: pF 7737 .loc 17 725 21 view .LVU2015 7738 0046 41F00801 orr r1, r1, #8 @ _32, _31, 7739 004a D961 str r1, [r3, #28] @ _32, pFlash.ErrorCode 7740 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:728: __ 726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear FLASH Programming alignment error pending bit */ 728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGAERR); 7741 .loc 17 728 4 view .LVU2016 7742 004c 2021 movs r1, #32 @ tmp173, 7743 004e D160 str r1, [r2, #12] @ tmp173, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7744 .L583: 7745 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:731: if( 729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGPERR) != RESET) 7746 .loc 17 731 6 view .LVU2017 7747 0050 D168 ldr r1, [r2, #12] @ _33, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7748 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:731: if( 7749 .loc 17 731 5 view .LVU2018 7750 0052 4C06 lsls r4, r1, #25 @, _33, 7751 .LVL390: 7752 .loc 17 731 5 is_stmt 0 view .LVU2019 7753 0054 05D5 bpl .L584 @, 7754 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:733: p 732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_PGP; 7755 .loc 17 733 11 is_stmt 1 view .LVU2020 7756 0056 D969 ldr r1, [r3, #28] @ _35, pFlash.ErrorCode 7757 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:733: p 7758 .loc 17 733 22 view .LVU2021 7759 0058 41F00401 orr r1, r1, #4 @ _36, _35, 7760 005c D961 str r1, [r3, #28] @ _36, pFlash.ErrorCode 7761 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:736: _ 734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear FLASH Programming parallelism error pending bit */ 736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGPERR); 7762 .loc 17 736 5 view .LVU2022 7763 005e 4021 movs r1, #64 @ tmp179, 7764 0060 D160 str r1, [r2, #12] @ tmp179, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7765 .L584: 7766 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:739: if( 737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGSERR) != RESET) 7767 .loc 17 739 6 view .LVU2023 7768 0062 154A ldr r2, .L611+8 @ tmp180, 7769 0064 D168 ldr r1, [r2, #12] @ _37, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7770 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:739: if( 7771 .loc 17 739 5 view .LVU2024 7772 0066 0806 lsls r0, r1, #24 @, _37, 7773 0068 05D5 bpl .L585 @, 7774 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:741: p 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_PGS; 7775 .loc 17 741 11 view .LVU2025 7776 006a D969 ldr r1, [r3, #28] @ _39, pFlash.ErrorCode ARM GAS /tmp/ccJhhmLc.s page 516 7777 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:741: p 7778 .loc 17 741 22 view .LVU2026 7779 006c 41F00201 orr r1, r1, #2 @ _40, _39, 7780 0070 D961 str r1, [r3, #28] @ _40, pFlash.ErrorCode 7781 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:744: _ 742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear FLASH Programming sequence error pending bit */ 744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGSERR); 7782 .loc 17 744 5 view .LVU2027 7783 0072 8021 movs r1, #128 @ tmp185, 7784 0074 D160 str r1, [r2, #12] @ tmp185, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7785 .L585: 7786 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:747: if( 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #if defined(FLASH_SR_RDERR) 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_RDERR) != RESET) 7787 .loc 17 747 6 view .LVU2028 7788 0076 D168 ldr r1, [r2, #12] @ _41, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7789 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:747: if( 7790 .loc 17 747 5 view .LVU2029 7791 0078 C905 lsls r1, r1, #23 @, _41, 7792 007a 06D5 bpl .L586 @, 7793 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:749: p 748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_RD; 7794 .loc 17 749 11 view .LVU2030 7795 007c D969 ldr r1, [r3, #28] @ _43, pFlash.ErrorCode 7796 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:749: p 7797 .loc 17 749 22 view .LVU2031 7798 007e 41F00101 orr r1, r1, #1 @ _44, _43, 7799 0082 D961 str r1, [r3, #28] @ _44, pFlash.ErrorCode 7800 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:752: _ 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear FLASH Proprietary readout protection error pending bit */ 752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_RDERR); 7801 .loc 17 752 5 view .LVU2032 7802 0084 4FF48071 mov r1, #256 @ tmp191, 7803 0088 D160 str r1, [r2, #12] @ tmp191, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7804 .L586: 7805 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:755: if( 753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** #endif /* FLASH_SR_RDERR */ 755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_OPERR) != RESET) 7806 .loc 17 755 6 view .LVU2033 7807 008a 0B49 ldr r1, .L611+8 @ tmp192, 7808 008c CA68 ldr r2, [r1, #12] @ _45, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7809 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:755: if( 7810 .loc 17 755 5 view .LVU2034 7811 008e 9207 lsls r2, r2, #30 @, _45, 7812 0090 05D5 bpl .L587 @, 7813 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:757: p 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_OPERATION; 7814 .loc 17 757 11 view .LVU2035 7815 0092 DA69 ldr r2, [r3, #28] @ _47, pFlash.ErrorCode 7816 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:757: p 7817 .loc 17 757 22 view .LVU2036 ARM GAS /tmp/ccJhhmLc.s page 517 7818 0094 42F02002 orr r2, r2, #32 @ _48, _47, 7819 0098 DA61 str r2, [r3, #28] @ _48, pFlash.ErrorCode 7820 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:760: _ 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** /* Clear FLASH Operation error pending bit */ 760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPERR); 7821 .loc 17 760 5 view .LVU2037 7822 009a 0223 movs r3, #2 @ tmp197, 7823 009c CB60 str r3, [r1, #12] @ tmp197, MEM[(struct FLASH_TypeDef *)1073888256B].SR 7824 .L587: 7825 .LBE610: 7826 .LBE609: 7827 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:592: r 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 7828 .loc 17 592 12 view .LVU2038 7829 009e 0120 movs r0, #1 @ , 7830 .L579: 7831 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:598: } 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** 7832 .loc 17 598 1 view .LVU2039 7833 00a0 30BD pop {r4, r5, pc} @ 7834 .LVL391: 7835 .L580: 7836 .LBB611: 7837 .LBB612: 7838 .LBB613: 7839 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 7840 .loc 5 56 10 view .LVU2040 7841 00a2 0168 ldr r1, [r0] @ _24, _ms_ticks 7842 .LBE613: 7843 .LBE612: 7844 .LBE611: 7845 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:569: 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 7846 .loc 17 569 43 discriminator 1 view .LVU2041 7847 00a4 091B subs r1, r1, r4 @ _3, _24, _22 7848 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:569: 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** { 7849 .loc 17 569 25 discriminator 1 view .LVU2042 7850 00a6 A942 cmp r1, r5 @ _3, tmp204 7851 00a8 B3D9 bls .L578 @, 7852 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:571: 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c **** } 7853 .loc 17 571 16 view .LVU2043 7854 00aa 0320 movs r0, #3 @ , 7855 00ac F8E7 b .L579 @ 7856 .L612: 7857 00ae 00BF .align 2 7858 .L611: 7859 00b0 00000000 .word pFlash 7860 00b4 00000000 .word _ZL9_ms_ticks.lto_priv.0 7861 00b8 003C0240 .word 1073888256 7862 .cfi_endproc 7863 .LFE110: 7864 .size FLASH_WaitForLastOperation.constprop.0, .-FLASH_WaitForLastOperation.constprop.0 7865 .section .text.SDIO_SendCommand.constprop.0.isra.0,"ax",%progbits 7866 .align 1 ARM GAS /tmp/ccJhhmLc.s page 518 7867 .global SDIO_SendCommand.constprop.0.isra.0 7868 .hidden SDIO_SendCommand.constprop.0.isra.0 7869 .syntax unified 7870 .thumb 7871 .thumb_func 7872 .type SDIO_SendCommand.constprop.0.isra.0, %function 7873 SDIO_SendCommand.constprop.0.isra.0: 7874 .LVL392: 7875 .LFB114: 281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return HAL_OK; 283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @} 287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** @defgroup HAL_SDMMC_LL_Group3 Peripheral Control functions 290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief management functions 291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @verbatim 293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** =============================================================================== 294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ##### Peripheral Control functions ##### 295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** =============================================================================== 296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] 297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** This subsection provides a set of functions allowing to control the SDMMC data 298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** transfers. 299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @endverbatim 301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @{ 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Set SDMMC Power state to ON. 306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** HAL_StatusTypeDef SDIO_PowerState_ON(SDIO_TypeDef *SDIOx) 310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set power state to ON */ 312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIOx->POWER = SDIO_POWER_PWRCTRL; 313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* 1ms: required power up waiting time before starting the SD initialization 315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sequence */ 316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** HAL_Delay(2); 317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return HAL_OK; 319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Set SDMMC Power state to OFF. 323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** HAL_StatusTypeDef SDIO_PowerState_OFF(SDIO_TypeDef *SDIOx) 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set power state to OFF */ ARM GAS /tmp/ccJhhmLc.s page 519 329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIOx->POWER = (uint32_t)0x00000000; 330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return HAL_OK; 332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Get SDMMC Power state. 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval Power status of the controller. The returned value can be one of the 338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * following values: 339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * - 0x00: Power OFF 340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * - 0x02: Power UP 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * - 0x03: Power ON 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDIO_GetPowerState(SDIO_TypeDef *SDIOx) 344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return (SDIOx->POWER & SDIO_POWER_PWRCTRL); 346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Configure the SDMMC command path according to the specified parameters in 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * SDIO_CmdInitTypeDef structure and send the command 351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param Command: pointer to a SDIO_CmdInitTypeDef structure that contains 353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * the configuration information for the SDMMC command 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** HAL_StatusTypeDef SDIO_SendCommand(SDIO_TypeDef *SDIOx, SDIO_CmdInitTypeDef *Command) 7876 .loc 8 356 19 view -0 7877 .cfi_startproc 7878 @ args = 0, pretend = 0, frame = 0 7879 @ frame_needed = 0, uses_anonymous_args = 0 7880 @ link register save eliminated. 7881 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:367: SDIO 357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t tmpreg = 0; 359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check the parameters */ 361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_CMD_INDEX(Command->CmdIndex)); 362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_RESPONSE(Command->Response)); 363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_WAIT(Command->WaitForInterrupt)); 364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_CPSM(Command->CPSM)); 365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set the SDMMC Argument value */ 367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIOx->ARG = Command->Argument; 7882 .loc 8 367 23 view .LVU2045 7883 0000 0B68 ldr r3, [r1] @ _2, Command_1(D)->Argument 7884 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:367: SDIO 7885 .loc 8 367 14 view .LVU2046 7886 0002 8360 str r3, [r0, #8] @ _2, SDIOx_3(D)->ARG 7887 .LVL393: 7888 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:376: MODI 368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set SDMMC command parameters */ 370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** tmpreg |= (uint32_t)(Command->CmdIndex |\ 371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Command->Response |\ 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Command->WaitForInterrupt |\ ARM GAS /tmp/ccJhhmLc.s page 520 373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Command->CPSM); 374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Write to SDMMC CMD register */ 376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** MODIFY_REG(SDIOx->CMD, CMD_CLEAR_MASK, tmpreg); 7889 .loc 8 376 3 view .LVU2047 7890 0004 C368 ldr r3, [r0, #12] @ _11, SDIOx_3(D)->CMD 7891 0006 4A68 ldr r2, [r1, #4] @ Command_1(D)->CmdIndex, Command_1(D)->CmdIndex 7892 0008 6FF30B03 bfc r3, #0, #12 @ _12, 7893 000c 1343 orrs r3, r3, r2 @, _9, _12, Command_1(D)->CmdIndex 7894 000e 8A68 ldr r2, [r1, #8] @ Command_1(D)->Response, Command_1(D)->Response 7895 0010 1343 orrs r3, r3, r2 @, _7, _9, Command_1(D)->Response 7896 0012 43F48063 orr r3, r3, #1024 @ _13, _7, 7897 0016 C360 str r3, [r0, #12] @ _13, SDIOx_3(D)->CMD 7898 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:379: } 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return HAL_OK; 379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 7899 .loc 8 379 1 view .LVU2048 7900 0018 7047 bx lr @ 7901 .cfi_endproc 7902 .LFE114: 7903 .size SDIO_SendCommand.constprop.0.isra.0, .-SDIO_SendCommand.constprop.0.isra.0 7904 .section .text._ZL9_read_dmaPhmj,"ax",%progbits 7905 .align 1 7906 .syntax unified 7907 .thumb 7908 .thumb_func 7909 .type _ZL9_read_dmaPhmj, %function 7910 _ZL9_read_dmaPhmj: 7911 .LVL394: 7912 .LFB115: 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ReadStatus = 0; 7913 .loc 4 406 1 view -0 7914 .cfi_startproc 7915 @ args = 0, pretend = 0, frame = 24 7916 @ frame_needed = 0, uses_anonymous_args = 0 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 7917 .loc 4 407 3 view .LVU2050 7918 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:406: { 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ReadStatus = 0; 7919 .loc 4 406 1 is_stmt 0 view .LVU2051 7920 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 7921 .LCFI46: 7922 .cfi_def_cfa_offset 36 7923 .cfi_offset 4, -36 7924 .cfi_offset 5, -32 7925 .cfi_offset 6, -28 7926 .cfi_offset 7, -24 7927 .cfi_offset 8, -20 7928 .cfi_offset 9, -16 7929 .cfi_offset 10, -12 7930 .cfi_offset 11, -8 7931 .cfi_offset 14, -4 7932 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:407: ReadStatus = 0; 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 7933 .loc 4 407 14 view .LVU2052 7934 0004 4E4F ldr r7, .L638 @ tmp154, ARM GAS /tmp/ccJhhmLc.s page 521 7935 0006 4F4C ldr r4, .L638+4 @ tmp225, 7936 0008 0023 movs r3, #0 @ tmp155, 7937 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:406: { 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ReadStatus = 0; 7938 .loc 4 406 1 view .LVU2053 7939 000a 87B0 sub sp, sp, #28 @,, 7940 .LCFI47: 7941 .cfi_def_cfa_offset 64 7942 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:406: { 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** ReadStatus = 0; 7943 .loc 4 406 1 view .LVU2054 7944 000c 9146 mov r9, r2 @ count, tmp231 7945 000e 0E46 mov r6, r1 @ sector, tmp230 7946 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:407: ReadStatus = 0; 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 7947 .loc 4 407 14 view .LVU2055 7948 0010 3B60 str r3, [r7] @ tmp155, ReadStatus 413:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD ReadBlocks failed (s:%u/c:%u)", sector, (uint32_t)count); 7949 .loc 4 413 3 is_stmt 1 view .LVU2056 7950 .LVL395: 7951 .LBB630: 7952 .LBI630: 1163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 7953 .loc 6 1163 19 view .LVU2057 7954 .LBB631: 7955 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1169: if(NU 1169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 7956 .loc 6 1169 5 is_stmt 0 view .LVU2058 7957 0012 0246 mov r2, r0 @ buff, tmp229 7958 .LVL396: 1169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 7959 .loc 6 1169 5 view .LVU2059 7960 0014 48B9 cbnz r0, .L615 @ buff, 7961 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1171: hsd 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 7962 .loc 6 1171 8 view .LVU2060 7963 0016 A36B ldr r3, [r4, #56] @ _33, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 7964 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1171: hsd 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 7965 .loc 6 1171 20 view .LVU2061 7966 0018 43F00063 orr r3, r3, #134217728 @ _34, _33, 7967 .LVL397: 7968 .L636: 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 7969 .loc 6 1171 20 view .LVU2062 7970 001c A363 str r3, [r4, #56] @ _34, 7971 .LVL398: 7972 .L618: 1171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 7973 .loc 6 1171 20 view .LVU2063 7974 .LBE631: 7975 .LBE630: 7976 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:415: return RES_ERROR; 415:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 7977 .loc 4 415 12 view .LVU2064 7978 001e 4FF00108 mov r8, #1 @ , 7979 .L616: ARM GAS /tmp/ccJhhmLc.s page 522 7980 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:435: } 435:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 7981 .loc 4 435 1 view .LVU2065 7982 0022 4046 mov r0, r8 @, 7983 0024 07B0 add sp, sp, #28 @,, 7984 .LCFI48: 7985 .cfi_remember_state 7986 .cfi_def_cfa_offset 36 7987 @ sp needed @ 7988 0026 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 7989 .LVL399: 7990 .L615: 7991 .LCFI49: 7992 .cfi_restore_state 7993 .LBB645: 7994 .LBB644: 7995 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1175: if(hs 1175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 7996 .loc 6 1175 9 view .LVU2066 7997 002a 94F83410 ldrb r1, [r4, #52] @ zero_extendqisi2 @ MEM[(struct SD_HandleTypeDef *)&sdio].State, MEM[(struct S 7998 .LVL400: 7999 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1175: if(hs 1175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8000 .loc 6 1175 5 view .LVU2067 8001 002e 0129 cmp r1, #1 @ MEM[(struct SD_HandleTypeDef *)&sdio].State, 8002 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1175: if(hs 1175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8003 .loc 6 1175 9 view .LVU2068 8004 0030 5FFA81FB uxtb fp, r1 @ _35, MEM[(struct SD_HandleTypeDef *)&sdio].State 8005 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1175: if(hs 1175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8006 .loc 6 1175 5 view .LVU2069 8007 0034 F3D1 bne .L618 @, 8008 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1179: if( 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8009 .loc 6 1179 7 view .LVU2070 8010 0036 E06D ldr r0, [r4, #92] @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockNbr, MEM[(struct SD_Handl 8011 .LVL401: 8012 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1177: hsd 1177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8013 .loc 6 1177 20 view .LVU2071 8014 0038 A363 str r3, [r4, #56] @ tmp155, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8015 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1179: if( 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8016 .loc 6 1179 13 view .LVU2072 8017 003a 06EB0901 add r1, r6, r9 @ _36, sector, count 8018 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1179: if( 1179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8019 .loc 6 1179 7 view .LVU2073 8020 003e 8142 cmp r1, r0 @ _36, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockNbr 8021 0040 03D9 bls .L619 @, 8022 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1181: h 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8023 .loc 6 1181 10 view .LVU2074 8024 0042 A36B ldr r3, [r4, #56] @ _38, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8025 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1181: h 1181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; ARM GAS /tmp/ccJhhmLc.s page 523 8026 .loc 6 1181 22 view .LVU2075 8027 0044 43F00073 orr r3, r3, #33554432 @ _39, _38, 8028 0048 E8E7 b .L636 @ 8029 .L619: 8030 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1188: hsd 1188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8031 .loc 6 1188 8 view .LVU2076 8032 004a 2568 ldr r5, [r4] @ _40, MEM[(struct SD_HandleTypeDef *)&sdio].Instance 8033 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1197: hsd 1197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8034 .loc 6 1197 8 view .LVU2077 8035 004c 206C ldr r0, [r4, #64] @ _43, MEM[(struct SD_HandleTypeDef *)&sdio].hdmarx 8036 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1185: hsd 1185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8037 .loc 6 1185 16 view .LVU2078 8038 004e 0321 movs r1, #3 @ tmp170, 8039 0050 84F83410 strb r1, [r4, #52] @ tmp170, MEM[(struct SD_HandleTypeDef *)&sdio].State 8040 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1188: hsd 1188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8041 .loc 6 1188 26 view .LVU2079 8042 0054 EB62 str r3, [r5, #44] @ tmp155, _40->DCTRL 8043 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1191: __H 1191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 8044 .loc 6 1191 5 view .LVU2080 8045 0056 E96B ldr r1, [r5, #60] @ _41, _40->MASK 8046 0058 41F44A71 orr r1, r1, #808 @ _42, _41, 8047 005c 41F00201 orr r1, r1, #2 @ _42, _42, 8048 0060 E963 str r1, [r5, #60] @ _42, _40->MASK 8049 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1197: hsd 1197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8050 .loc 6 1197 35 view .LVU2081 8051 0062 3949 ldr r1, .L638+8 @ tmp176, 8052 0064 C163 str r1, [r0, #60] @ tmp176, _43->XferCpltCallback 8053 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1200: hsd 1200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8054 .loc 6 1200 36 view .LVU2082 8055 0066 3949 ldr r1, .L638+12 @ tmp177, 8056 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1206: hsd 1206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction); 8057 .loc 6 1206 33 view .LVU2083 8058 0068 8360 str r3, [r0, #8] @ tmp155, _43->Init.Direction 8059 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1203: hsd 1203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8060 .loc 6 1203 36 view .LVU2084 8061 006a C0E91313 strd r1, r3, [r0, #76] @ tmp177, tmp155, _43, 8062 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1207: MOD 1207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8063 .loc 6 1207 5 view .LVU2085 8064 006e 0168 ldr r1, [r0] @ _44, _43->Instance 8065 0070 0B68 ldr r3, [r1] @ _45, _44->CR 8066 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1210: if( 1210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8067 .loc 6 1210 87 view .LVU2086 8068 0072 4FEA492A lsl r10, r9, #9 @ _50, count, 8069 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1207: MOD 1207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8070 .loc 6 1207 5 view .LVU2087 ARM GAS /tmp/ccJhhmLc.s page 524 8071 0076 23F0C003 bic r3, r3, #192 @ _46, _45, 8072 007a 0B60 str r3, [r1] @ _46, _44->CR 8073 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1210: if( 1210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8074 .loc 6 1210 8 view .LVU2088 8075 007c 4FEA9A03 lsr r3, r10, #2 @, _50, 8076 0080 05F18001 add r1, r5, #128 @, _40, 8077 0084 FFF7FEFF bl HAL_DMA_Start_IT @ 8078 .LVL402: 8079 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1210: if( 1210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8080 .loc 6 1210 7 discriminator 1 view .LVU2089 8081 0088 8046 mov r8, r0 @ , tmp232 8082 008a 60B1 cbz r0, .L620 @ , 8083 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1212: _ 1212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** __HAL_SD_CLEAR_FLAG(hsd, SDIO_STATIC_FLAGS); 8084 .loc 6 1212 7 view .LVU2090 8085 008c EB6B ldr r3, [r5, #60] @ _54, _40->MASK 8086 008e 23F49573 bic r3, r3, #298 @ _55, _54, 8087 0092 EB63 str r3, [r5, #60] @ _55, _40->MASK 8088 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1213: _ 1213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 8089 .loc 6 1213 7 view .LVU2091 8090 0094 2E4B ldr r3, .L638+16 @ tmp183, 8091 0096 AB63 str r3, [r5, #56] @ tmp183, _40->ICR 8092 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1214: h 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8093 .loc 6 1214 10 view .LVU2092 8094 0098 A36B ldr r3, [r4, #56] @ _56, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8095 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1214: h 1214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8096 .loc 6 1214 22 view .LVU2093 8097 009a 43F08043 orr r3, r3, #1073741824 @ _57, _56, 8098 009e A363 str r3, [r4, #56] @ _57, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8099 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1215: h 1215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8100 .loc 6 1215 18 view .LVU2094 8101 00a0 84F834B0 strb fp, [r4, #52] @ _35, MEM[(struct SD_HandleTypeDef *)&sdio].State 8102 .LVL403: 1215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8103 .loc 6 1215 18 view .LVU2095 8104 00a4 BBE7 b .L618 @ 8105 .LVL404: 8106 .L620: 8107 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1221: _ 1221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8108 .loc 6 1221 7 view .LVU2096 8109 00a6 2B4B ldr r3, .L638+20 @ tmp189, 8110 00a8 C3F88CB5 str fp, [r3, #1420] @ _35, MEM[(volatile uint32_t *)1109755276B] 8111 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1223: i 1223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8112 .loc 6 1223 9 view .LVU2097 8113 00ac 636C ldr r3, [r4, #68] @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.CardType, MEM[(struct SD_HandleTy 8114 00ae 012B cmp r3, #1 @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.CardType, 8115 .LBB632: 8116 .LBB633: 8117 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:436: SDIO ARM GAS /tmp/ccJhhmLc.s page 525 380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Return the command index of last command for which response received 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval Command index of the last command response received 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint8_t SDIO_GetCommandResponse(SDIO_TypeDef *SDIOx) 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return (uint8_t)(SDIOx->RESPCMD); 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Return the response received from the card for the last command 394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDMMC register base 395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param Response: Specifies the SDMMC response register. 396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * This parameter can be one of the following values: 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @arg SDIO_RESP1: Response Register 1 398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @arg SDIO_RESP2: Response Register 2 399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @arg SDIO_RESP3: Response Register 3 400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @arg SDIO_RESP4: Response Register 4 401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval The Corresponding response register value 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDIO_GetResponse(SDIO_TypeDef *SDIOx, uint32_t Response) 404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t tmp; 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check the parameters */ 408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_RESP(Response)); 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Get the response */ 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** tmp = (uint32_t)(&(SDIOx->RESP1)) + Response; 412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return (*(__IO uint32_t *) tmp); 414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Configure the SDMMC data path according to the specified 418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * parameters in the SDIO_DataInitTypeDef. 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param Data : pointer to a SDIO_DataInitTypeDef structure 421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * that contains the configuration information for the SDMMC data. 422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** HAL_StatusTypeDef SDIO_ConfigData(SDIO_TypeDef *SDIOx, SDIO_DataInitTypeDef* Data) 425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t tmpreg = 0; 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check the parameters */ 429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_DATA_LENGTH(Data->DataLength)); 430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_BLOCK_SIZE(Data->DataBlockSize)); 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_TRANSFER_DIR(Data->TransferDir)); 432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_TRANSFER_MODE(Data->TransferMode)); 433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_DPSM(Data->DPSM)); 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set the SDMMC Data TimeOut value */ 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIOx->DTIMER = Data->DataTimeOut; ARM GAS /tmp/ccJhhmLc.s page 526 8118 .loc 8 436 17 view .LVU2098 8119 00b0 4FF0FF33 mov r3, #-1 @ tmp193, 8120 00b4 6B62 str r3, [r5, #36] @ tmp193, _40->DTIMER 8121 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:439: SDIO 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set the SDMMC DataLength value */ 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIOx->DLEN = Data->DataLength; 8122 .loc 8 439 15 view .LVU2099 8123 00b6 C5F828A0 str r10, [r5, #40] @ _50, _40->DLEN 8124 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:448: MODI 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set the SDMMC data configuration parameters */ 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** tmpreg |= (uint32_t)(Data->DataBlockSize |\ 443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Data->TransferDir |\ 444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Data->TransferMode |\ 445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** Data->DPSM); 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Write to SDMMC DCTRL */ 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** MODIFY_REG(SDIOx->DCTRL, DCTRL_CLEAR_MASK, tmpreg); 8125 .loc 8 448 3 view .LVU2100 8126 00ba EB6A ldr r3, [r5, #44] @ _80, _40->DCTRL 8127 00bc 23F0F703 bic r3, r3, #247 @ _81, _80, 8128 .LBE633: 8129 .LBE632: 8130 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1225: 1225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 8131 .loc 6 1225 13 view .LVU2101 8132 00c0 18BF it ne 8133 00c2 7602 lslne r6, r6, #9 @ sector, sector, 8134 .LVL405: 8135 .LBB636: 8136 .LBI632: 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 8137 .loc 8 424 19 is_stmt 1 view .LVU2102 8138 .LBB634: 8139 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:448: MODI 8140 .loc 8 448 3 is_stmt 0 view .LVU2103 8141 00c4 43F09303 orr r3, r3, #147 @ _82, _81, 8142 .LBE634: 8143 .LBE636: 8144 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1238: i 1238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8145 .loc 6 1238 9 view .LVU2104 8146 00c8 B9F1010F cmp r9, #1 @ count, 8147 .LBB637: 8148 .LBB635: 8149 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:448: MODI 8150 .loc 8 448 3 view .LVU2105 8151 00cc EB62 str r3, [r5, #44] @ _82, _40->DCTRL 8152 .LVL406: 8153 .loc 8 448 3 view .LVU2106 8154 .LBE635: 8155 .LBE637: 8156 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1240: 1240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8157 .loc 6 1240 22 view .LVU2107 8158 00ce 89BF itett hi ARM GAS /tmp/ccJhhmLc.s page 527 8159 00d0 8223 movhi r3, #130 @ tmp196, 8160 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1247: 1247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8161 .loc 6 1247 22 view .LVU2108 8162 00d2 8123 movls r3, #129 @ tmp201, 8163 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1240: 1240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8164 .loc 6 1240 22 view .LVU2109 8165 00d4 2363 strhi r3, [r4, #48] @ tmp196, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8166 .LVL407: 8167 .LBB638: 8168 .LBI638: 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return HAL_OK; 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Returns number of remaining data bytes to be transferred. 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval Number of remaining data bytes to be transferred 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDIO_GetDataCounter(SDIO_TypeDef *SDIOx) 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return (SDIOx->DCOUNT); 462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Get the FIFO data 466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval Data received 468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDIO_GetFIFOCount(SDIO_TypeDef *SDIOx) 470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return (SDIOx->FIFO); 472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Sets one of the two options of inserting read wait interval. 476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIO_ReadWaitMode: SDMMC Read Wait operation mode. 478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * This parameter can be: 479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @arg SDIO_READ_WAIT_MODE_CLK: Read Wait control by stopping SDMMCCLK 480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @arg SDIO_READ_WAIT_MODE_DATA2: Read Wait control using SDMMC_DATA2 481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval None 482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** HAL_StatusTypeDef SDIO_SetSDMMCReadWaitMode(SDIO_TypeDef *SDIOx, uint32_t SDIO_ReadWaitMode) 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check the parameters */ 486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** assert_param(IS_SDIO_READWAIT_MODE(SDIO_ReadWaitMode)); 487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set SDMMC read wait mode */ 489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** MODIFY_REG(SDIOx->DCTRL, SDIO_DCTRL_RWMOD, SDIO_ReadWaitMode); 490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return HAL_OK; 492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ARM GAS /tmp/ccJhhmLc.s page 528 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @} 496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** @defgroup HAL_SDMMC_LL_Group4 Command management functions 500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Data transfers functions 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * 502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @verbatim 503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** =============================================================================== 504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ##### Commands management functions ##### 505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** =============================================================================== 506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** [..] 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** This subsection provides a set of functions allowing to manage the needed commands. 508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** @endverbatim 510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @{ 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Send the Data Block Length command and check the response 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDMMC_CmdBlockLength(SDIO_TypeDef *SDIOx, uint32_t BlockSize) 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_CmdInitTypeDef sdmmc_cmdinit; 521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set Block Size for Card */ 524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Argument = (uint32_t)BlockSize; 525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_BLOCKLEN; 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CPSM = SDIO_CPSM_ENABLE; 529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); 530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check for error conditions */ 532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_SET_BLOCKLEN, SDIO_CMDTIMEOUT); 533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return errorstate; 535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Send the Read Single Block command and check the response 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDMMC_CmdReadSingleBlock(SDIO_TypeDef *SDIOx, uint32_t ReadAdd) 543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_CmdInitTypeDef sdmmc_cmdinit; 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set Block Size for Card */ 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_SINGLE_BLOCK; 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; ARM GAS /tmp/ccJhhmLc.s page 529 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CPSM = SDIO_CPSM_ENABLE; 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); 554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check for error conditions */ 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_READ_SINGLE_BLOCK, SDIO_CMDTIMEOUT); 557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return errorstate; 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Send the Read Multi Block command and check the response 563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDMMC_CmdReadMultiBlock(SDIO_TypeDef *SDIOx, uint32_t ReadAdd) 8169 .loc 8 566 10 is_stmt 1 view .LVU2110 8170 .LBB639: 567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_CmdInitTypeDef sdmmc_cmdinit; 8171 .loc 8 568 3 view .LVU2111 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 8172 .loc 8 569 3 view .LVU2112 570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set Block Size for Card */ 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 8173 .loc 8 572 3 view .LVU2113 8174 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:572: sdmm 8175 .loc 8 572 34 is_stmt 0 view .LVU2114 8176 00d6 0196 strhi r6, [sp, #4] @ sector, MEM[(struct *)_79].Argument 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_MULT_BLOCK; 8177 .loc 8 573 3 is_stmt 1 view .LVU2115 8178 .LBE639: 8179 .LBE638: 8180 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1247: 1247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8181 .loc 6 1247 22 is_stmt 0 view .LVU2116 8182 00d8 96BF itet ls 8183 00da 2363 strls r3, [r4, #48] @ tmp201, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8184 .LVL408: 8185 .LBB641: 8186 .LBB640: 8187 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:573: sdmm 8188 .loc 8 573 34 view .LVU2117 8189 00dc 1226 movhi r6, #18 @ tmp197, 8190 .LVL409: 8191 .loc 8 573 34 view .LVU2118 8192 .LBE640: 8193 .LBE641: 8194 .LBB642: 8195 .LBI642: 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 8196 .loc 8 542 10 is_stmt 1 view .LVU2119 8197 .LBB643: 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 8198 .loc 8 544 3 view .LVU2120 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ARM GAS /tmp/ccJhhmLc.s page 530 8199 .loc 8 545 3 view .LVU2121 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_SINGLE_BLOCK; 8200 .loc 8 548 3 view .LVU2122 8201 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:548: sdmm 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_SINGLE_BLOCK; 8202 .loc 8 548 34 is_stmt 0 view .LVU2123 8203 00de 0196 strls r6, [sp, #4] @ sector, MEM[(struct *)_79].Argument 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 8204 .loc 8 549 3 is_stmt 1 view .LVU2124 8205 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:550: sdmm 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 8206 .loc 8 550 34 is_stmt 0 view .LVU2125 8207 00e0 4FF04003 mov r3, #64 @ tmp203, 8208 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:549: sdmm 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 8209 .loc 8 549 34 view .LVU2126 8210 00e4 98BF it ls 8211 00e6 1126 movls r6, #17 @ tmp202, 8212 .LVL410: 8213 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:553: (voi 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8214 .loc 8 553 9 view .LVU2127 8215 00e8 01A9 add r1, sp, #4 @ tmp238,, 8216 00ea 2846 mov r0, r5 @, _40 8217 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:549: sdmm 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 8218 .loc 8 549 34 view .LVU2128 8219 00ec 0296 str r6, [sp, #8] @ tmp202, MEM[(struct *)_79].CmdIndex 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 8220 .loc 8 550 3 is_stmt 1 view .LVU2129 8221 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:550: sdmm 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 8222 .loc 8 550 34 is_stmt 0 view .LVU2130 8223 00ee 0393 str r3, [sp, #12] @ tmp203, MEM[(struct *)_79].Response 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CPSM = SDIO_CPSM_ENABLE; 8224 .loc 8 551 3 is_stmt 1 view .LVU2131 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); 8225 .loc 8 552 3 view .LVU2132 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8226 .loc 8 553 3 view .LVU2133 8227 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:553: (voi 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8228 .loc 8 553 9 is_stmt 0 view .LVU2134 8229 00f0 FFF7FEFF bl SDIO_SendCommand.constprop.0.isra.0 @ 8230 .LVL411: 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8231 .loc 8 556 3 is_stmt 1 view .LVU2135 8232 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:556: erro 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8233 .loc 8 556 16 is_stmt 0 view .LVU2136 8234 00f4 41F28832 movw r2, #5000 @, 8235 00f8 3146 mov r1, r6 @, tmp202 8236 00fa FFF7FEFF bl SDMMC_GetCmdResp1.lto_priv.0 @ 8237 .LVL412: 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 8238 .loc 8 558 3 is_stmt 1 view .LVU2137 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } ARM GAS /tmp/ccJhhmLc.s page 531 8239 .loc 8 558 3 is_stmt 0 view .LVU2138 8240 .LBE643: 8241 .LBE642: 8242 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1252: i 1252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8243 .loc 6 1252 9 view .LVU2139 8244 00fe 50B1 cbz r0, .L624 @ errorstate, 8245 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1255: 1255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 8246 .loc 6 1255 9 view .LVU2140 8247 0100 134B ldr r3, .L638+16 @ tmp205, 8248 0102 AB63 str r3, [r5, #56] @ tmp205, _40->ICR 8249 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1256: 1256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8250 .loc 6 1256 12 view .LVU2141 8251 0104 A36B ldr r3, [r4, #56] @ _68, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8252 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1256: 1256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8253 .loc 6 1256 24 view .LVU2142 8254 0106 1843 orrs r0, r0, r3 @, _69, errorstate, _68 8255 .LVL413: 8256 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1257: 1257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 8257 .loc 6 1257 20 view .LVU2143 8258 0108 0123 movs r3, #1 @ tmp209, 8259 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1256: 1256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8260 .loc 6 1256 24 view .LVU2144 8261 010a A063 str r0, [r4, #56] @ _69, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8262 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1257: 1257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 8263 .loc 6 1257 20 view .LVU2145 8264 010c 84F83430 strb r3, [r4, #52] @ tmp209, MEM[(struct SD_HandleTypeDef *)&sdio].State 8265 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1258: 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8266 .loc 6 1258 22 view .LVU2146 8267 0110 0023 movs r3, #0 @ tmp212, 8268 0112 2363 str r3, [r4, #48] @ tmp212, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8269 0114 83E7 b .L618 @ 8270 .LVL414: 8271 .L624: 1258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8272 .loc 6 1258 22 view .LVU2147 8273 .LBE644: 8274 .LBE645: 419:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while((ReadStatus == 0) && ((HAL_GetTick() - timeout) < SD_TIMEOUT)); 8275 .loc 4 419 3 is_stmt 1 view .LVU2148 8276 .LBB646: 8277 .LBI646: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 8278 .loc 11 25 21 view .LVU2149 8279 .loc 11 27 5 view .LVU2150 8280 .LBB647: 8281 .LBI647: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 8282 .loc 5 54 10 view .LVU2151 8283 .LBB648: ARM GAS /tmp/ccJhhmLc.s page 532 8284 .loc 5 56 3 view .LVU2152 8285 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 8286 .loc 5 56 10 is_stmt 0 view .LVU2153 8287 0116 104A ldr r2, .L638+24 @ tmp213, 8288 0118 1168 ldr r1, [r2] @ _86, _ms_ticks 8289 .LVL415: 8290 .loc 5 56 10 view .LVU2154 8291 .LBE648: 8292 .LBE647: 8293 .LBE646: 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8294 .loc 4 420 3 is_stmt 1 view .LVU2155 8295 .L626: 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8296 .loc 4 420 27 discriminator 7 view .LVU2156 8297 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:420: while((ReadStatus == 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8298 .loc 4 420 21 is_stmt 0 discriminator 7 view .LVU2157 8299 011a 3B68 ldr r3, [r7] @ _2, ReadStatus 8300 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:420: while((ReadStatus == 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8301 .loc 4 420 27 discriminator 7 view .LVU2158 8302 011c 23B9 cbnz r3, .L625 @ _2, 8303 .LBB649: 8304 .LBI649: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 8305 .loc 11 25 21 is_stmt 1 view .LVU2159 8306 .loc 11 27 5 view .LVU2160 8307 .LBB650: 8308 .LBI650: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 8309 .loc 5 54 10 view .LVU2161 8310 .LBB651: 8311 .loc 5 56 3 view .LVU2162 8312 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 8313 .loc 5 56 10 is_stmt 0 view .LVU2163 8314 011e 1368 ldr r3, [r2] @ _88, _ms_ticks 8315 .LBE651: 8316 .LBE650: 8317 .LBE649: 8318 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:420: while((ReadStatus == 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8319 .loc 4 420 46 discriminator 1 view .LVU2164 8320 0120 5B1A subs r3, r3, r1 @ _4, _88, _86 8321 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:420: while((ReadStatus == 420:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8322 .loc 4 420 27 discriminator 1 view .LVU2165 8323 0122 B3F5967F cmp r3, #300 @ _4, 8324 0126 F8D3 bcc .L626 @, 8325 .L625: 422:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read timeout (s:%u c:%u)", sector, (uint32_t)count); 8326 .loc 4 422 3 is_stmt 1 view .LVU2166 8327 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:422: if (ReadStatus == 0) 422:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read timeout (s:%u c:%u)", sector, (uint32_t)count); 8328 .loc 4 422 18 is_stmt 0 view .LVU2167 8329 0128 3B68 ldr r3, [r7] @ _5, ReadStatus 8330 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:422: if (ReadStatus == 0) ARM GAS /tmp/ccJhhmLc.s page 533 422:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read timeout (s:%u c:%u)", sector, (uint32_t)count); 8331 .loc 4 422 3 view .LVU2168 8332 012a 002B cmp r3, #0 @ _5 8333 012c 3FF477AF beq .L618 @ 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read DMA error (s:%u c:%u)", sector, (uint32_t)count); 8334 .loc 4 427 3 is_stmt 1 view .LVU2169 8335 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:427: if (ReadStatus == 2) 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read DMA error (s:%u c:%u)", sector, (uint32_t)count); 8336 .loc 4 427 18 is_stmt 0 view .LVU2170 8337 0130 3B68 ldr r3, [r7] @ _6, ReadStatus 8338 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:427: if (ReadStatus == 2) 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read DMA error (s:%u c:%u)", sector, (uint32_t)count); 8339 .loc 4 427 3 view .LVU2171 8340 0132 022B cmp r3, #2 @ _6, 8341 0134 4FF00003 mov r3, #0 @ tmp228, 8342 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:429: ReadStatus = 0; 429:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 8343 .loc 4 429 16 view .LVU2172 8344 0138 3B60 str r3, [r7] @ tmp228, ReadStatus 8345 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:427: if (ReadStatus == 2) 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD read DMA error (s:%u c:%u)", sector, (uint32_t)count); 8346 .loc 4 427 3 view .LVU2173 8347 013a 7FF472AF bne .L616 @, 8348 013e 6EE7 b .L618 @ 8349 .L639: 8350 .align 2 8351 .L638: 8352 0140 00000000 .word _ZL10ReadStatus.lto_priv.0 8353 0144 00000000 .word _ZL4sdio.lto_priv.0 8354 0148 00000000 .word SD_DMAReceiveCplt.lto_priv.0 8355 014c 00000000 .word SD_DMAError.lto_priv.0 8356 0150 FF054000 .word 4195839 8357 0154 00802542 .word 1109753856 8358 0158 00000000 .word _ZL9_ms_ticks.lto_priv.0 8359 .cfi_endproc 8360 .LFE115: 8361 .size _ZL9_read_dmaPhmj, .-_ZL9_read_dmaPhmj 8362 .section .text._ZL9sdio_readhPhmj.lto_priv.0,"ax",%progbits 8363 .align 1 8364 .global _ZL9sdio_readhPhmj.lto_priv.0 8365 .hidden _ZL9sdio_readhPhmj.lto_priv.0 8366 .syntax unified 8367 .thumb 8368 .thumb_func 8369 .type _ZL9sdio_readhPhmj.lto_priv.0, %function 8370 _ZL9sdio_readhPhmj.lto_priv.0: 8371 .LVL416: 8372 .LFB123: 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 8373 .loc 4 438 1 is_stmt 1 view -0 8374 .cfi_startproc 8375 @ args = 0, pretend = 0, frame = 0 8376 @ frame_needed = 0, uses_anonymous_args = 0 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 8377 .loc 4 438 1 is_stmt 0 view .LVU2175 8378 0000 70B5 push {r4, r5, r6, lr} @ 8379 .LCFI50: ARM GAS /tmp/ccJhhmLc.s page 534 8380 .cfi_def_cfa_offset 16 8381 .cfi_offset 4, -16 8382 .cfi_offset 5, -12 8383 .cfi_offset 6, -8 8384 .cfi_offset 14, -4 8385 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:438: { 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 8386 .loc 4 438 1 view .LVU2176 8387 0002 0D46 mov r5, r1 @ buff, tmp158 8388 0004 1446 mov r4, r2 @ sector, tmp159 439:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8389 .loc 4 439 3 is_stmt 1 view .LVU2177 8390 .LVL417: 441:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 8391 .loc 4 441 3 view .LVU2178 8392 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:438: { 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 8393 .loc 4 438 1 is_stmt 0 view .LVU2179 8394 0006 1E46 mov r6, r3 @ count, tmp160 8395 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:441: if (sdio_check_card_ 441:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 8396 .loc 4 441 41 view .LVU2180 8397 0008 FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 8398 .LVL418: 8399 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:441: if (sdio_check_card_ 441:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 8400 .loc 4 441 3 discriminator 1 view .LVU2181 8401 000c 0130 adds r0, r0, #1 @ tmp161, tmp161, 8402 000e 01D1 bne .L641 @, 8403 .LVL419: 8404 .L646: 8405 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:442: return RES_ERROR; 442:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 8406 .loc 4 442 12 view .LVU2182 8407 0010 0120 movs r0, #1 @ , 8408 .L642: 8409 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:467: } 467:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8410 .loc 4 467 1 view .LVU2183 8411 0012 70BD pop {r4, r5, r6, pc} @ 8412 .LVL420: 8413 .L641: 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count) { 8414 .loc 4 445 3 is_stmt 1 view .LVU2184 8415 .LBB652: 8416 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:445: if (!_IS_DMA_BUFFER( 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count) { 8417 .loc 4 445 8 is_stmt 0 view .LVU2185 8418 0014 184B ldr r3, .L650 @ tmp135, 8419 0016 6B40 eors r3, r3, r5 @, _4, tmp135, buff 8420 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:445: if (!_IS_DMA_BUFFER( 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count) { 8421 .loc 4 445 3 view .LVU2186 8422 0018 B3F1807F cmp r3, #16777216 @ _4, 8423 001c 04D3 bcc .L643 @, 8424 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:445: if (!_IS_DMA_BUFFER( 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count) { ARM GAS /tmp/ccJhhmLc.s page 535 8425 .loc 4 445 8 discriminator 1 view .LVU2187 8426 001e 174B ldr r3, .L650+4 @ tmp137, 8427 0020 6B40 eors r3, r3, r5 @, _7, tmp137, buff 8428 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:445: if (!_IS_DMA_BUFFER( 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count) { 8429 .loc 4 445 7 discriminator 1 view .LVU2188 8430 0022 B3F1806F cmp r3, #67108864 @ _7, 8431 0026 21D2 bcs .L644 @, 8432 .L643: 8433 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:445: if (!_IS_DMA_BUFFER( 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count) { 8434 .loc 4 445 29 discriminator 3 view .LVU2189 8435 0028 AA07 lsls r2, r5, #30 @, buff, 8436 002a 1FD1 bne .L644 @, 8437 .LBE652: 458:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) return res; 8438 .loc 4 458 3 is_stmt 1 view .LVU2190 8439 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:458: res = _read_dma(buff 458:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) return res; 8440 .loc 4 458 18 is_stmt 0 view .LVU2191 8441 002c 3246 mov r2, r6 @, count 8442 002e 2146 mov r1, r4 @, sector 8443 0030 2846 mov r0, r5 @, buff 8444 0032 FFF7FEFF bl _ZL9_read_dmaPhmj @ 8445 .LVL421: 459:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8446 .loc 4 459 3 is_stmt 1 view .LVU2192 8447 0036 0028 cmp r0, #0 @ tmp163 8448 0038 EAD1 bne .L646 @ 461:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c:%u", sector, (uint32_t)count); 8449 .loc 4 461 3 view .LVU2193 8450 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:461: if (sdio_check_card_ 461:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c:%u", sector, (uint32_t)count); 8451 .loc 4 461 41 is_stmt 0 view .LVU2194 8452 003a FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 8453 .LVL422: 8454 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:461: if (sdio_check_card_ 461:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c:%u", sector, (uint32_t)count); 8455 .loc 4 461 3 discriminator 1 view .LVU2195 8456 003e 431C adds r3, r0, #1 @, tmp164, 8457 0040 5842 rsbs r0, r3, #0 @ ,, 8458 0042 5841 adcs r0, r0, r3 @ , , 8459 0044 E5E7 b .L642 @ 8460 .LVL423: 8461 .L648: 8462 .LBB655: 8463 .LBB653: 8464 .LBB654: 447:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = _read_dma(scratch, sector, chunk); 8465 .loc 4 447 7 is_stmt 1 view .LVU2196 448:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 8466 .loc 4 448 7 view .LVU2197 8467 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:448: res = _read_dma( 448:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 8468 .loc 4 448 22 is_stmt 0 view .LVU2198 8469 0046 0E48 ldr r0, .L650+8 @, 8470 0048 0122 movs r2, #1 @, ARM GAS /tmp/ccJhhmLc.s page 536 8471 004a 2146 mov r1, r4 @, sector 8472 004c FFF7FEFF bl _ZL9_read_dmaPhmj @ 8473 .LVL424: 449:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(buff, scratch, chunk * BLOCK_SIZE); 8474 .loc 4 449 7 is_stmt 1 view .LVU2199 8475 0050 0028 cmp r0, #0 @ tmp162 8476 0052 DDD1 bne .L646 @ 450:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** buff += chunk * BLOCK_SIZE; 8477 .loc 4 450 7 view .LVU2200 8478 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:450: memcpy(buff, scr 450:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** buff += chunk * BLOCK_SIZE; 8479 .loc 4 450 13 is_stmt 0 view .LVU2201 8480 0054 05EB4420 add r0, r5, r4, lsl #9 @, _47, sector, 8481 .LVL425: 450:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** buff += chunk * BLOCK_SIZE; 8482 .loc 4 450 13 view .LVU2202 8483 0058 0949 ldr r1, .L650+8 @, 8484 005a 4FF40072 mov r2, #512 @, 8485 005e FFF7FEFF bl memcpy @ 8486 .LVL426: 451:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** sector += chunk; 8487 .loc 4 451 7 is_stmt 1 view .LVU2203 452:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** count -= chunk; 8488 .loc 4 452 7 view .LVU2204 8489 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:452: sector += chunk; 452:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** count -= chunk; 8490 .loc 4 452 14 is_stmt 0 view .LVU2205 8491 0062 0134 adds r4, r4, #1 @ sector, sector, 8492 .LVL427: 453:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 8493 .loc 4 453 7 is_stmt 1 view .LVU2206 8494 .L647: 453:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 8495 .loc 4 453 7 is_stmt 0 view .LVU2207 8496 .LBE654: 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UINT chunk = (count > SCRATCH_SECTORS) ? SCRATCH_SECTORS : count; 8497 .loc 4 446 12 is_stmt 1 view .LVU2208 8498 0064 B442 cmp r4, r6 @ sector, _28 8499 0066 EED1 bne .L648 @, 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UINT chunk = (count > SCRATCH_SECTORS) ? SCRATCH_SECTORS : count; 8500 .loc 4 446 12 is_stmt 0 view .LVU2209 8501 0068 0020 movs r0, #0 @ , 8502 006a D2E7 b .L642 @ 8503 .LVL428: 8504 .L644: 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UINT chunk = (count > SCRATCH_SECTORS) ? SCRATCH_SECTORS : count; 8505 .loc 4 446 12 view .LVU2210 8506 006c C4EBC453 rsb r3, r4, r4, lsl #23 @ _14, sector, sector, 8507 0070 2644 add r6, r6, r4 @ _28, sector 8508 .LVL429: 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UINT chunk = (count > SCRATCH_SECTORS) ? SCRATCH_SECTORS : count; 8509 .loc 4 446 12 view .LVU2211 8510 0072 05EB4325 add r5, r5, r3, lsl #9 @ _47, buff, _14, 8511 .LVL430: 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** UINT chunk = (count > SCRATCH_SECTORS) ? SCRATCH_SECTORS : count; 8512 .loc 4 446 12 view .LVU2212 8513 0076 F5E7 b .L647 @ ARM GAS /tmp/ccJhhmLc.s page 537 8514 .L651: 8515 .align 2 8516 .L650: 8517 0078 00000000 .word _sram 8518 007c 00000000 .word _heap_start 8519 0080 00000000 .word _ZL7scratch 8520 .LBE653: 8521 .LBE655: 8522 .cfi_endproc 8523 .LFE123: 8524 .size _ZL9sdio_readhPhmj.lto_priv.0, .-_ZL9sdio_readhPhmj.lto_priv.0 8525 .section .text._ZL10_write_dmaPKhmj,"ax",%progbits 8526 .align 1 8527 .syntax unified 8528 .thumb 8529 .thumb_func 8530 .type _ZL10_write_dmaPKhmj, %function 8531 _ZL10_write_dmaPKhmj: 8532 .LVL431: 8533 .LFB124: 470:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if __CORTEX_M >= 0x07 8534 .loc 4 470 1 is_stmt 1 view -0 8535 .cfi_startproc 8536 @ args = 0, pretend = 0, frame = 24 8537 @ frame_needed = 0, uses_anonymous_args = 0 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (HAL_SD_WriteBlocks_DMA(&sdio, (uint8_t*)buff, sector, count) != HAL_OK) { 8538 .loc 4 475 3 view .LVU2214 8539 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:470: { 470:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if __CORTEX_M >= 0x07 8540 .loc 4 470 1 is_stmt 0 view .LVU2215 8541 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} @ 8542 .LCFI51: 8543 .cfi_def_cfa_offset 36 8544 .cfi_offset 4, -36 8545 .cfi_offset 5, -32 8546 .cfi_offset 6, -28 8547 .cfi_offset 7, -24 8548 .cfi_offset 8, -20 8549 .cfi_offset 9, -16 8550 .cfi_offset 10, -12 8551 .cfi_offset 11, -8 8552 .cfi_offset 14, -4 8553 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:475: WriteStatus = 0; 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (HAL_SD_WriteBlocks_DMA(&sdio, (uint8_t*)buff, sector, count) != HAL_OK) { 8554 .loc 4 475 15 view .LVU2216 8555 0004 DFF86081 ldr r8, .L676+24 @ tmp155, 8556 0008 514C ldr r4, .L676 @ tmp230, 8557 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:470: { 470:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if __CORTEX_M >= 0x07 8558 .loc 4 470 1 view .LVU2217 8559 000a 1646 mov r6, r2 @ count, tmp236 8560 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:475: WriteStatus = 0; 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (HAL_SD_WriteBlocks_DMA(&sdio, (uint8_t*)buff, sector, count) != HAL_OK) { 8561 .loc 4 475 15 view .LVU2218 8562 000c 0022 movs r2, #0 @ tmp156, 8563 .LVL432: 8564 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:470: { ARM GAS /tmp/ccJhhmLc.s page 538 470:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** #if __CORTEX_M >= 0x07 8565 .loc 4 470 1 view .LVU2219 8566 000e 87B0 sub sp, sp, #28 @,, 8567 .LCFI52: 8568 .cfi_def_cfa_offset 64 8569 .LBB672: 8570 .LBB673: 8571 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1290: if(NU 1290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8572 .loc 6 1290 5 view .LVU2220 8573 0010 8246 mov r10, r0 @ buff, tmp234 8574 .LBE673: 8575 .LBE672: 8576 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:475: WriteStatus = 0; 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (HAL_SD_WriteBlocks_DMA(&sdio, (uint8_t*)buff, sector, count) != HAL_OK) { 8577 .loc 4 475 15 view .LVU2221 8578 0012 C8F80020 str r2, [r8] @ tmp156, WriteStatus 476:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD WriteBlocks failed (s:%u/c:%u)", sector, (uint32_t)count); 8579 .loc 4 476 3 is_stmt 1 view .LVU2222 8580 .LVL433: 8581 .LBB689: 8582 .LBI672: 1284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8583 .loc 6 1284 19 view .LVU2223 8584 .LBB686: 8585 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1290: if(NU 1290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8586 .loc 6 1290 5 is_stmt 0 view .LVU2224 8587 0016 38B9 cbnz r0, .L653 @ buff, 8588 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1292: hsd 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8589 .loc 6 1292 8 view .LVU2225 8590 0018 A36B ldr r3, [r4, #56] @ _33, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8591 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1292: hsd 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8592 .loc 6 1292 20 view .LVU2226 8593 001a 43F00063 orr r3, r3, #134217728 @ _34, _33, 8594 .LVL434: 8595 .L674: 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8596 .loc 6 1292 20 view .LVU2227 8597 001e A363 str r3, [r4, #56] @ _34, 8598 .LVL435: 8599 .L656: 1292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8600 .loc 6 1292 20 view .LVU2228 8601 .LBE686: 8602 .LBE689: 8603 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:478: return RES_ERROR; 478:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 8604 .loc 4 478 12 view .LVU2229 8605 0020 0120 movs r0, #1 @ , 8606 .L654: 8607 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:498: } 498:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8608 .loc 4 498 1 view .LVU2230 8609 0022 07B0 add sp, sp, #28 @,, ARM GAS /tmp/ccJhhmLc.s page 539 8610 .LCFI53: 8611 .cfi_remember_state 8612 .cfi_def_cfa_offset 36 8613 @ sp needed @ 8614 0024 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} @ 8615 .LVL436: 8616 .L653: 8617 .LCFI54: 8618 .cfi_restore_state 8619 .LBB690: 8620 .LBB687: 8621 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1296: if(hs 1296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8622 .loc 6 1296 9 view .LVU2231 8623 0028 94F83430 ldrb r3, [r4, #52] @ zero_extendqisi2 @ MEM[(struct SD_HandleTypeDef *)&sdio].State, MEM[(struct S 8624 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1296: if(hs 1296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8625 .loc 6 1296 5 view .LVU2232 8626 002c 012B cmp r3, #1 @ MEM[(struct SD_HandleTypeDef *)&sdio].State, 8627 002e F7D1 bne .L656 @, 8628 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1300: if( 1300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8629 .loc 6 1300 7 view .LVU2233 8630 0030 E06D ldr r0, [r4, #92] @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockNbr, MEM[(struct SD_Handl 8631 .LVL437: 8632 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1298: hsd 1298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8633 .loc 6 1298 20 view .LVU2234 8634 0032 A263 str r2, [r4, #56] @ tmp156, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8635 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1300: if( 1300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8636 .loc 6 1300 13 view .LVU2235 8637 0034 8B19 adds r3, r1, r6 @ _36, sector, count 8638 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1300: if( 1300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8639 .loc 6 1300 7 view .LVU2236 8640 0036 8342 cmp r3, r0 @ _36, MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.LogBlockNbr 8641 0038 03D9 bls .L657 @, 8642 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1302: h 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8643 .loc 6 1302 10 view .LVU2237 8644 003a A36B ldr r3, [r4, #56] @ _38, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8645 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1302: h 1302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8646 .loc 6 1302 22 view .LVU2238 8647 003c 43F00073 orr r3, r3, #33554432 @ _39, _38, 8648 0040 EDE7 b .L674 @ 8649 .L657: 8650 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1309: hsd 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8651 .loc 6 1309 8 view .LVU2239 8652 0042 2568 ldr r5, [r4] @ _40, MEM[(struct SD_HandleTypeDef *)&sdio].Instance 8653 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1319: hsd 1319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8654 .loc 6 1319 8 view .LVU2240 8655 0044 D4F83C90 ldr r9, [r4, #60] @ _43, MEM[(struct SD_HandleTypeDef *)&sdio].hdmatx 8656 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1306: hsd ARM GAS /tmp/ccJhhmLc.s page 540 1306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8657 .loc 6 1306 16 view .LVU2241 8658 0048 0323 movs r3, #3 @ tmp171, 8659 004a 84F83430 strb r3, [r4, #52] @ tmp171, MEM[(struct SD_HandleTypeDef *)&sdio].State 8660 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1309: hsd 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8661 .loc 6 1309 26 view .LVU2242 8662 004e EA62 str r2, [r5, #44] @ tmp156, _40->DCTRL 8663 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1313: __H 1313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 8664 .loc 6 1313 5 view .LVU2243 8665 0050 EB6B ldr r3, [r5, #60] @ _41, _40->MASK 8666 0052 43F40673 orr r3, r3, #536 @ _42, _41, 8667 0056 43F00203 orr r3, r3, #2 @ _42, _42, 8668 005a EB63 str r3, [r5, #60] @ _42, _40->MASK 8669 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1319: hsd 1319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8670 .loc 6 1319 35 view .LVU2244 8671 005c 3D4B ldr r3, .L676+4 @ tmp177, 8672 005e C9F83C30 str r3, [r9, #60] @ tmp177, _43->XferCpltCallback 8673 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1322: hsd 1322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8674 .loc 6 1322 36 view .LVU2245 8675 0062 3D4B ldr r3, .L676+8 @ tmp178, 8676 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1325: hsd 1325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8677 .loc 6 1325 36 view .LVU2246 8678 0064 C9E91332 strd r3, r2, [r9, #76] @ tmp178, tmp156, _43, 8679 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1327: if( 1327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8680 .loc 6 1327 7 view .LVU2247 8681 0068 636C ldr r3, [r4, #68] @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.CardType, MEM[(struct SD_HandleTy 8682 006a 012B cmp r3, #1 @ MEM[(struct SD_HandleTypeDef *)&sdio].SdCard.CardType, 8683 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1329: a 1329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** } 8684 .loc 6 1329 11 view .LVU2248 8685 006c 18BF it ne 8686 006e 4902 lslne r1, r1, #9 @ sector, sector, 8687 .LVL438: 8688 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1333: if( 1333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8689 .loc 6 1333 7 view .LVU2249 8690 0070 012E cmp r6, #1 @ count, 8691 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1335: h 1335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8692 .loc 6 1335 20 view .LVU2250 8693 0072 8BBF itete hi 8694 0074 A023 movhi r3, #160 @ tmp183, 8695 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1342: h 1342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8696 .loc 6 1342 20 view .LVU2251 8697 0076 9023 movls r3, #144 @ tmp188, 8698 .LBB674: 8699 .LBB675: 8700 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:621: sdmm 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; ARM GAS /tmp/ccJhhmLc.s page 541 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CPSM = SDIO_CPSM_ENABLE; 577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check for error conditions */ 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_READ_MULT_BLOCK, SDIO_CMDTIMEOUT); 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return errorstate; 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Send the Write Single Block command and check the response 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDMMC_CmdWriteSingleBlock(SDIO_TypeDef *SDIOx, uint32_t WriteAdd) 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_CmdInitTypeDef sdmmc_cmdinit; 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set Block Size for Card */ 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CPSM = SDIO_CPSM_ENABLE; 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); 602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Check for error conditions */ 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** errorstate = SDMMC_GetCmdResp1(SDIOx, SDMMC_CMD_WRITE_SINGLE_BLOCK, SDIO_CMDTIMEOUT); 605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** return errorstate; 607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /** 610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @brief Send the Write Multi Block command and check the response 611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @param SDIOx: Pointer to SDIO register base 612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** * @retval HAL status 613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** */ 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t SDMMC_CmdWriteMultiBlock(SDIO_TypeDef *SDIOx, uint32_t WriteAdd) 615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** SDIO_CmdInitTypeDef sdmmc_cmdinit; 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** /* Set Block Size for Card */ 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; 8701 .loc 8 621 34 view .LVU2252 8702 0078 1927 movhi r7, #25 @ tmp184, 8703 .LBE675: 8704 .LBE674: 8705 .LBB677: 8706 .LBB678: 8707 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:597: sdmm 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 8708 .loc 8 597 34 view .LVU2253 8709 007a 1827 movls r7, #24 @ tmp189, 8710 .LBE678: ARM GAS /tmp/ccJhhmLc.s page 542 8711 .LBE677: 8712 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1335: h 1335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8713 .loc 6 1335 20 view .LVU2254 8714 007c 87BF ittee hi 8715 007e 2363 strhi r3, [r4, #48] @ tmp183, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8716 .LVL439: 8717 .LBB680: 8718 .LBI674: 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 8719 .loc 8 614 10 is_stmt 1 view .LVU2255 8720 .LBB676: 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 8721 .loc 8 616 3 view .LVU2256 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8722 .loc 8 617 3 view .LVU2257 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; 8723 .loc 8 620 3 view .LVU2258 8724 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:620: sdmm 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; 8725 .loc 8 620 34 is_stmt 0 view .LVU2259 8726 0080 0191 strhi r1, [sp, #4] @ sector, MEM[(struct *)_80].Argument 8727 .loc 8 621 3 is_stmt 1 view .LVU2260 8728 .LBE676: 8729 .LBE680: 8730 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1342: h 1342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8731 .loc 6 1342 20 is_stmt 0 view .LVU2261 8732 0082 2363 strls r3, [r4, #48] @ tmp188, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8733 .LVL440: 8734 .LBB681: 8735 .LBI677: 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 8736 .loc 8 590 10 is_stmt 1 view .LVU2262 8737 .LBB679: 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** uint32_t errorstate; 8738 .loc 8 592 3 view .LVU2263 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8739 .loc 8 593 3 view .LVU2264 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; 8740 .loc 8 596 3 view .LVU2265 8741 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:596: sdmm 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; 8742 .loc 8 596 34 is_stmt 0 view .LVU2266 8743 0084 0191 strls r1, [sp, #4] @ sector, MEM[(struct *)_80].Argument 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 8744 .loc 8 597 3 is_stmt 1 view .LVU2267 8745 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:598: sdmm 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 8746 .loc 8 598 34 is_stmt 0 view .LVU2268 8747 0086 4023 movs r3, #64 @ tmp190, 8748 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:601: (voi 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8749 .loc 8 601 9 view .LVU2269 8750 0088 01A9 add r1, sp, #4 @ tmp243,, 8751 .LVL441: 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** ARM GAS /tmp/ccJhhmLc.s page 543 8752 .loc 8 601 9 view .LVU2270 8753 008a 2846 mov r0, r5 @, _40 8754 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:597: sdmm 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.Response = SDIO_RESPONSE_SHORT; 8755 .loc 8 597 34 view .LVU2271 8756 008c 0297 str r7, [sp, #8] @ tmp189, MEM[(struct *)_80].CmdIndex 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 8757 .loc 8 598 3 is_stmt 1 view .LVU2272 8758 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:598: sdmm 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.WaitForInterrupt = SDIO_WAIT_NO; 8759 .loc 8 598 34 is_stmt 0 view .LVU2273 8760 008e 0393 str r3, [sp, #12] @ tmp190, MEM[(struct *)_80].Response 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** sdmmc_cmdinit.CPSM = SDIO_CPSM_ENABLE; 8761 .loc 8 599 3 is_stmt 1 view .LVU2274 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** (void)SDIO_SendCommand(SDIOx, &sdmmc_cmdinit); 8762 .loc 8 600 3 view .LVU2275 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8763 .loc 8 601 3 view .LVU2276 8764 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:601: (voi 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8765 .loc 8 601 9 is_stmt 0 view .LVU2277 8766 0090 FFF7FEFF bl SDIO_SendCommand.constprop.0.isra.0 @ 8767 .LVL442: 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8768 .loc 8 604 3 is_stmt 1 view .LVU2278 8769 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:604: erro 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8770 .loc 8 604 16 is_stmt 0 view .LVU2279 8771 0094 3946 mov r1, r7 @, tmp189 8772 0096 41F28832 movw r2, #5000 @, 8773 009a FFF7FEFF bl SDMMC_GetCmdResp1.lto_priv.0 @ 8774 .LVL443: 8775 009e 0746 mov r7, r0 @ errorstate, tmp238 8776 .LVL444: 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 8777 .loc 8 606 3 is_stmt 1 view .LVU2280 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** } 8778 .loc 8 606 3 is_stmt 0 view .LVU2281 8779 .LBE679: 8780 .LBE681: 8781 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1347: if( 1347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8782 .loc 6 1347 7 view .LVU2282 8783 00a0 50B1 cbz r0, .L661 @ errorstate, 8784 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1350: _ 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= errorstate; 8785 .loc 6 1350 7 view .LVU2283 8786 00a2 2E4B ldr r3, .L676+12 @ tmp192, 8787 00a4 AB63 str r3, [r5, #56] @ tmp192, _40->ICR 8788 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1351: h 1351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8789 .loc 6 1351 10 view .LVU2284 8790 00a6 A36B ldr r3, [r4, #56] @ _51, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8791 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1351: h 1351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8792 .loc 6 1351 22 view .LVU2285 8793 00a8 0343 orrs r3, r3, r0 @, _52, _51, errorstate ARM GAS /tmp/ccJhhmLc.s page 544 8794 00aa A363 str r3, [r4, #56] @ _52, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8795 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1352: h 1352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 8796 .loc 6 1352 18 view .LVU2286 8797 00ac 0123 movs r3, #1 @ tmp196, 8798 00ae 84F83430 strb r3, [r4, #52] @ tmp196, MEM[(struct SD_HandleTypeDef *)&sdio].State 8799 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1353: h 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8800 .loc 6 1353 20 view .LVU2287 8801 00b2 0023 movs r3, #0 @ tmp199, 8802 00b4 2363 str r3, [r4, #48] @ tmp199, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8803 .LVL445: 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8804 .loc 6 1353 20 view .LVU2288 8805 00b6 B3E7 b .L656 @ 8806 .LVL446: 8807 .L661: 8808 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1358: __H 1358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8809 .loc 6 1358 5 view .LVU2289 8810 00b8 294B ldr r3, .L676+16 @ tmp200, 8811 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1362: MOD 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8812 .loc 6 1362 5 view .LVU2290 8813 00ba D9F80020 ldr r2, [r9] @ _54, _43->Instance 8814 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1358: __H 1358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8815 .loc 6 1358 5 view .LVU2291 8816 00be 4FF0010B mov fp, #1 @ tmp201, 8817 00c2 C3F88CB5 str fp, [r3, #1420] @ tmp201, MEM[(volatile uint32_t *)1109755276B] 8818 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1361: hsd 1361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction); 8819 .loc 6 1361 33 view .LVU2292 8820 00c6 4023 movs r3, #64 @ tmp202, 8821 00c8 C9F80830 str r3, [r9, #8] @ tmp202, _43->Init.Direction 8822 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1362: MOD 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8823 .loc 6 1362 5 view .LVU2293 8824 00cc 1368 ldr r3, [r2] @ _55, _54->CR 8825 00ce 23F0C003 bic r3, r3, #192 @ _56, _55, 8826 00d2 43F04003 orr r3, r3, #64 @ _57, _56, 8827 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1365: if( 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8828 .loc 6 1365 87 view .LVU2294 8829 00d6 7602 lsls r6, r6, #9 @ _62, count, 8830 .LVL447: 8831 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1362: MOD 1362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** 8832 .loc 6 1362 5 view .LVU2295 8833 00d8 1360 str r3, [r2] @ _57, _54->CR 8834 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1365: if( 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8835 .loc 6 1365 8 view .LVU2296 8836 00da 5146 mov r1, r10 @, buff 8837 00dc B308 lsrs r3, r6, #2 @, _62, 8838 00de 05F18002 add r2, r5, #128 @, _40, 8839 00e2 4846 mov r0, r9 @, _43 ARM GAS /tmp/ccJhhmLc.s page 545 8840 .LVL448: 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8841 .loc 6 1365 8 view .LVU2297 8842 00e4 FFF7FEFF bl HAL_DMA_Start_IT @ 8843 .LVL449: 8844 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1365: if( 1365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** { 8845 .loc 6 1365 7 discriminator 1 view .LVU2298 8846 00e8 78B1 cbz r0, .L662 @ , 8847 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1368: _ 1368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** #else /* SDIO_STA_STBITERR not defined */ 8848 .loc 6 1368 7 view .LVU2299 8849 00ea EB6B ldr r3, [r5, #60] @ _66, _40->MASK 8850 00ec 23F40673 bic r3, r3, #536 @ _67, _66, 8851 00f0 23F00203 bic r3, r3, #2 @ _67, _67, 8852 00f4 EB63 str r3, [r5, #60] @ _67, _40->MASK 8853 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1372: _ 1372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->ErrorCode |= HAL_SD_ERROR_DMA; 8854 .loc 6 1372 7 view .LVU2300 8855 00f6 194B ldr r3, .L676+12 @ tmp208, 8856 00f8 AB63 str r3, [r5, #56] @ tmp208, _40->ICR 8857 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1373: h 1373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8858 .loc 6 1373 10 view .LVU2301 8859 00fa A36B ldr r3, [r4, #56] @ _68, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8860 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1373: h 1373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->State = HAL_SD_STATE_READY; 8861 .loc 6 1373 22 view .LVU2302 8862 00fc 43F08043 orr r3, r3, #1073741824 @ _69, _68, 8863 0100 A363 str r3, [r4, #56] @ _69, MEM[(struct SD_HandleTypeDef *)&sdio].ErrorCode 8864 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1374: h 1374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** hsd->Context = SD_CONTEXT_NONE; 8865 .loc 6 1374 18 view .LVU2303 8866 0102 84F834B0 strb fp, [r4, #52] @ tmp201, MEM[(struct SD_HandleTypeDef *)&sdio].State 8867 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c:1375: h 1375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8868 .loc 6 1375 20 view .LVU2304 8869 0106 2763 str r7, [r4, #48] @ errorstate, MEM[(struct SD_HandleTypeDef *)&sdio].Context 8870 .LVL450: 1375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_sd.c **** return HAL_ERROR; 8871 .loc 6 1375 20 view .LVU2305 8872 0108 8AE7 b .L656 @ 8873 .LVL451: 8874 .L662: 8875 .LBB682: 8876 .LBI682: 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** { 8877 .loc 8 424 19 is_stmt 1 view .LVU2306 8878 .LBB683: 8879 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:436: SDIO 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8880 .loc 8 436 17 is_stmt 0 view .LVU2307 8881 010a 4FF0FF33 mov r3, #-1 @ tmp216, 8882 010e 6B62 str r3, [r5, #36] @ tmp216, _40->DTIMER 8883 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:439: SDIO 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8884 .loc 8 439 15 view .LVU2308 ARM GAS /tmp/ccJhhmLc.s page 546 8885 0110 AE62 str r6, [r5, #40] @ _62, _40->DLEN 8886 .LVL452: 8887 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:448: MODI 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8888 .loc 8 448 3 view .LVU2309 8889 0112 EB6A ldr r3, [r5, #44] @ _83, _40->DCTRL 8890 .LBE683: 8891 .LBE682: 8892 .LBE687: 8893 .LBE690: 8894 .LBB691: 8895 .LBB692: 8896 .LBB693: 8897 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 8898 .loc 5 56 10 view .LVU2310 8899 0114 134A ldr r2, .L676+20 @ tmp218, 8900 .LBE693: 8901 .LBE692: 8902 .LBE691: 8903 .LBB696: 8904 .LBB688: 8905 .LBB685: 8906 .LBB684: 8907 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c:448: MODI 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8908 .loc 8 448 3 view .LVU2311 8909 0116 23F0F703 bic r3, r3, #247 @ _84, _83, 8910 011a 43F09103 orr r3, r3, #145 @ _85, _84, 8911 011e EB62 str r3, [r5, #44] @ _85, _40->DCTRL 8912 .LVL453: 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_sdmmc.c **** 8913 .loc 8 448 3 view .LVU2312 8914 .LBE684: 8915 .LBE685: 8916 .LBE688: 8917 .LBE696: 482:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while((WriteStatus == 0) && ((HAL_GetTick() - timeout) < SD_TIMEOUT)); 8918 .loc 4 482 3 is_stmt 1 view .LVU2313 8919 .LBB697: 8920 .LBI691: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 8921 .loc 11 25 21 view .LVU2314 8922 .loc 11 27 5 view .LVU2315 8923 .LBB695: 8924 .LBI692: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 8925 .loc 5 54 10 view .LVU2316 8926 .LBB694: 8927 .loc 5 56 3 view .LVU2317 8928 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 8929 .loc 5 56 10 is_stmt 0 view .LVU2318 8930 0120 1168 ldr r1, [r2] @ _87, _ms_ticks 8931 .LVL454: 8932 .loc 5 56 10 view .LVU2319 8933 .LBE694: 8934 .LBE695: 8935 .LBE697: ARM GAS /tmp/ccJhhmLc.s page 547 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8936 .loc 4 483 3 is_stmt 1 view .LVU2320 8937 .L664: 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8938 .loc 4 483 28 discriminator 7 view .LVU2321 8939 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:483: while((WriteStatus = 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8940 .loc 4 483 22 is_stmt 0 discriminator 7 view .LVU2322 8941 0122 D8F80030 ldr r3, [r8] @ _2, WriteStatus 8942 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:483: while((WriteStatus = 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8943 .loc 4 483 28 discriminator 7 view .LVU2323 8944 0126 23B9 cbnz r3, .L663 @ _2, 8945 .LBB698: 8946 .LBI698: 25:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_hal.cpp **** { 8947 .loc 11 25 21 is_stmt 1 view .LVU2324 8948 .loc 11 27 5 view .LVU2325 8949 .LBB699: 8950 .LBI699: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp **** { 8951 .loc 5 54 10 view .LVU2326 8952 .LBB700: 8953 .loc 5 56 3 view .LVU2327 8954 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/timers_driver.cpp:56: return _ms_ticks; 8955 .loc 5 56 10 is_stmt 0 view .LVU2328 8956 0128 1368 ldr r3, [r2] @ _89, _ms_ticks 8957 .LBE700: 8958 .LBE699: 8959 .LBE698: 8960 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:483: while((WriteStatus = 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8961 .loc 4 483 47 discriminator 1 view .LVU2329 8962 012a 5B1A subs r3, r3, r1 @ _4, _89, _87 8963 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:483: while((WriteStatus = 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 8964 .loc 4 483 28 discriminator 1 view .LVU2330 8965 012c B3F5967F cmp r3, #300 @ _4, 8966 0130 F7D3 bcc .L664 @, 8967 .L663: 485:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write timeout (s:%u/c:%u)", sector, (uint32_t)count); 8968 .loc 4 485 3 is_stmt 1 view .LVU2331 8969 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:485: if (WriteStatus == 0 485:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write timeout (s:%u/c:%u)", sector, (uint32_t)count); 8970 .loc 4 485 19 is_stmt 0 view .LVU2332 8971 0132 D8F80030 ldr r3, [r8] @ _5, WriteStatus 8972 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:485: if (WriteStatus == 0 485:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write timeout (s:%u/c:%u)", sector, (uint32_t)count); 8973 .loc 4 485 3 view .LVU2333 8974 0136 002B cmp r3, #0 @ _5 8975 0138 3FF472AF beq .L656 @ 490:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write DMA error (s:%u/c:%u)", sector, (uint32_t)count); 8976 .loc 4 490 3 is_stmt 1 view .LVU2334 8977 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:490: if (WriteStatus == 2 490:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write DMA error (s:%u/c:%u)", sector, (uint32_t)count); 8978 .loc 4 490 19 is_stmt 0 view .LVU2335 8979 013c D8F80030 ldr r3, [r8] @ _6, WriteStatus ARM GAS /tmp/ccJhhmLc.s page 548 8980 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:490: if (WriteStatus == 2 490:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write DMA error (s:%u/c:%u)", sector, (uint32_t)count); 8981 .loc 4 490 3 view .LVU2336 8982 0140 022B cmp r3, #2 @ _6, 8983 0142 4FF00003 mov r3, #0 @ tmp233, 8984 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:492: WriteStatus = 0; 492:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 8985 .loc 4 492 17 view .LVU2337 8986 0146 C8F80030 str r3, [r8] @ tmp233, WriteStatus 8987 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:490: if (WriteStatus == 2 490:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD write DMA error (s:%u/c:%u)", sector, (uint32_t)count); 8988 .loc 4 490 3 view .LVU2338 8989 014a 7FF46AAF bne .L654 @, 8990 014e 67E7 b .L656 @ 8991 .L677: 8992 .align 2 8993 .L676: 8994 0150 00000000 .word _ZL4sdio.lto_priv.0 8995 0154 00000000 .word SD_DMATransmitCplt.lto_priv.0 8996 0158 00000000 .word SD_DMAError.lto_priv.0 8997 015c FF054000 .word 4195839 8998 0160 00802542 .word 1109753856 8999 0164 00000000 .word _ZL9_ms_ticks.lto_priv.0 9000 0168 00000000 .word _ZL11WriteStatus.lto_priv.0 9001 .cfi_endproc 9002 .LFE124: 9003 .size _ZL10_write_dmaPKhmj, .-_ZL10_write_dmaPKhmj 9004 .section .text._ZL10sdio_writehPKhmj.lto_priv.0,"ax",%progbits 9005 .align 1 9006 .global _ZL10sdio_writehPKhmj.lto_priv.0 9007 .hidden _ZL10sdio_writehPKhmj.lto_priv.0 9008 .syntax unified 9009 .thumb 9010 .thumb_func 9011 .type _ZL10sdio_writehPKhmj.lto_priv.0, %function 9012 _ZL10sdio_writehPKhmj.lto_priv.0: 9013 .LVL455: 9014 .LFB129: 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 9015 .loc 4 501 1 is_stmt 1 view -0 9016 .cfi_startproc 9017 @ args = 0, pretend = 0, frame = 0 9018 @ frame_needed = 0, uses_anonymous_args = 0 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 9019 .loc 4 501 1 is_stmt 0 view .LVU2340 9020 0000 F8B5 push {r3, r4, r5, r6, r7, lr} @ 9021 .LCFI55: 9022 .cfi_def_cfa_offset 24 9023 .cfi_offset 3, -24 9024 .cfi_offset 4, -20 9025 .cfi_offset 5, -16 9026 .cfi_offset 6, -12 9027 .cfi_offset 7, -8 9028 .cfi_offset 14, -4 9029 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:501: { 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 9030 .loc 4 501 1 view .LVU2341 ARM GAS /tmp/ccJhhmLc.s page 549 9031 0002 0D46 mov r5, r1 @ buff, tmp160 9032 0004 1446 mov r4, r2 @ sector, tmp161 502:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 9033 .loc 4 502 3 is_stmt 1 view .LVU2342 9034 .LVL456: 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 9035 .loc 4 504 3 view .LVU2343 9036 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:501: { 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** DRESULT res = RES_OK; 9037 .loc 4 501 1 is_stmt 0 view .LVU2344 9038 0006 1E46 mov r6, r3 @ count, tmp162 9039 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:504: if (sdio_check_card_ 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 9040 .loc 4 504 41 view .LVU2345 9041 0008 FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 9042 .LVL457: 9043 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:504: if (sdio_check_card_ 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 9044 .loc 4 504 3 discriminator 1 view .LVU2346 9045 000c 0130 adds r0, r0, #1 @ tmp163, tmp163, 9046 000e 01D1 bne .L679 @, 9047 .LVL458: 9048 .L684: 9049 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:505: return RES_ERROR; 505:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** } 9050 .loc 4 505 12 view .LVU2347 9051 0010 0120 movs r0, #1 @ , 9052 .L680: 9053 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:531: } 531:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 9054 .loc 4 531 1 view .LVU2348 9055 0012 F8BD pop {r3, r4, r5, r6, r7, pc} @ 9056 .LVL459: 9057 .L679: 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count--) { 9058 .loc 4 508 3 is_stmt 1 view .LVU2349 9059 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:508: if (!_IS_DMA_BUFFER( 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count--) { 9060 .loc 4 508 8 is_stmt 0 view .LVU2350 9061 0014 1B4B ldr r3, .L691 @ tmp137, 9062 0016 6B40 eors r3, r3, r5 @, _4, tmp137, buff 9063 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:508: if (!_IS_DMA_BUFFER( 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count--) { 9064 .loc 4 508 3 view .LVU2351 9065 0018 B3F1807F cmp r3, #16777216 @ _4, 9066 001c 04D3 bcc .L681 @, 9067 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:508: if (!_IS_DMA_BUFFER( 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count--) { 9068 .loc 4 508 8 discriminator 1 view .LVU2352 9069 001e 1A4B ldr r3, .L691+4 @ tmp139, 9070 0020 6B40 eors r3, r3, r5 @, _6, tmp139, buff 9071 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:508: if (!_IS_DMA_BUFFER( 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count--) { 9072 .loc 4 508 7 discriminator 1 view .LVU2353 9073 0022 B3F1806F cmp r3, #67108864 @ _6, 9074 0026 26D2 bcs .L682 @, 9075 .L681: ARM GAS /tmp/ccJhhmLc.s page 550 9076 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:508: if (!_IS_DMA_BUFFER( 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** while (count--) { 9077 .loc 4 508 29 discriminator 3 view .LVU2354 9078 0028 AA07 lsls r2, r5, #30 @, buff, 9079 002a 24D1 bne .L682 @, 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) return res; 9080 .loc 4 522 3 is_stmt 1 view .LVU2355 9081 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:522: res = _write_dma(buf 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) return res; 9082 .loc 4 522 19 is_stmt 0 view .LVU2356 9083 002c 3246 mov r2, r6 @, count 9084 002e 2146 mov r1, r4 @, sector 9085 0030 2846 mov r0, r5 @, buff 9086 0032 FFF7FEFF bl _ZL10_write_dmaPKhmj @ 9087 .LVL460: 523:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 9088 .loc 4 523 3 is_stmt 1 view .LVU2357 9089 0036 0028 cmp r0, #0 @ tmp166 9090 0038 EAD1 bne .L684 @ 525:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c: %u", sector, (uint32_t)count); 9091 .loc 4 525 3 view .LVU2358 9092 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:525: if (sdio_check_card_ 525:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c: %u", sector, (uint32_t)count); 9093 .loc 4 525 41 is_stmt 0 view .LVU2359 9094 003a FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 9095 .LVL461: 9096 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:525: if (sdio_check_card_ 525:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** TRACE("SD getstatus timeout, s:%u c: %u", sector, (uint32_t)count); 9097 .loc 4 525 3 discriminator 1 view .LVU2360 9098 003e 431C adds r3, r0, #1 @, tmp167, 9099 0040 5842 rsbs r0, r3, #0 @ ,, 9100 0042 5841 adcs r0, r0, r3 @ , , 9101 0044 E5E7 b .L680 @ 9102 .LVL462: 9103 .L686: 510:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = _write_dma((BYTE *)scratch, sector++, 1); 9104 .loc 4 510 7 is_stmt 1 view .LVU2361 9105 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:510: memcpy(scratch, 510:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** res = _write_dma((BYTE *)scratch, sector++, 1); 9106 .loc 4 510 13 is_stmt 0 view .LVU2362 9107 0046 4FF40072 mov r2, #512 @, 9108 004a 05EB4421 add r1, r5, r4, lsl #9 @, _51, sector, 9109 004e 0F48 ldr r0, .L691+8 @, 9110 0050 FFF7FEFF bl memcpy @ 9111 .LVL463: 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 9112 .loc 4 511 7 is_stmt 1 view .LVU2363 9113 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:511: res = _write_dma 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 9114 .loc 4 511 23 is_stmt 0 view .LVU2364 9115 0054 0D48 ldr r0, .L691+8 @, 9116 0056 0122 movs r2, #1 @, 9117 0058 2146 mov r1, r4 @, sector 9118 005a 671C adds r7, r4, #1 @ sector, sector, 9119 .LVL464: 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 9120 .loc 4 511 23 view .LVU2365 ARM GAS /tmp/ccJhhmLc.s page 551 9121 005c FFF7FEFF bl _ZL10_write_dmaPKhmj @ 9122 .LVL465: 512:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** buff += BLOCK_SIZE; 9123 .loc 4 512 7 is_stmt 1 view .LVU2366 9124 0060 0028 cmp r0, #0 @ tmp164 9125 0062 D5D1 bne .L684 @ 513:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** 9126 .loc 4 513 7 view .LVU2367 9127 .LVL466: 515:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 9128 .loc 4 515 7 view .LVU2368 9129 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:515: if (sdio_check_c 515:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 9130 .loc 4 515 45 is_stmt 0 view .LVU2369 9131 0064 FFF7FEFF bl _ZL34sdio_check_card_state_with_timeoutm.constprop.0 @ 9132 .LVL467: 9133 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:515: if (sdio_check_c 515:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** return RES_ERROR; 9134 .loc 4 515 7 discriminator 1 view .LVU2370 9135 0068 0130 adds r0, r0, #1 @ tmp165, tmp165, 9136 006a D1D0 beq .L684 @, 9137 .LVL468: 9138 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp:511: res = _write_dma 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** if (res != RES_OK) break; 9139 .loc 4 511 23 view .LVU2371 9140 006c 3C46 mov r4, r7 @ sector, sector 9141 .LVL469: 9142 .L685: 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 9143 .loc 4 509 17 is_stmt 1 view .LVU2372 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 9144 .loc 4 509 17 is_stmt 0 view .LVU2373 9145 006e A642 cmp r6, r4 @ _7, sector 9146 0070 E9D1 bne .L686 @, 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 9147 .loc 4 509 17 view .LVU2374 9148 0072 0020 movs r0, #0 @ , 9149 0074 CDE7 b .L680 @ 9150 .LVL470: 9151 .L682: 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 9152 .loc 4 509 17 view .LVU2375 9153 0076 C4EBC453 rsb r3, r4, r4, lsl #23 @ _50, sector, sector, 9154 007a 2644 add r6, r6, r4 @ _7, sector 9155 .LVL471: 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 9156 .loc 4 509 17 view .LVU2376 9157 007c 05EB4325 add r5, r5, r3, lsl #9 @ _51, buff, _50, 9158 .LVL472: 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/diskio_sdio.cpp **** memcpy(scratch, buff, BLOCK_SIZE); 9159 .loc 4 509 17 view .LVU2377 9160 0080 F5E7 b .L685 @ 9161 .L692: 9162 0082 00BF .align 2 9163 .L691: 9164 0084 00000000 .word _sram 9165 0088 00000000 .word _heap_start ARM GAS /tmp/ccJhhmLc.s page 552 9166 008c 00000000 .word _ZL7scratch 9167 .cfi_endproc 9168 .LFE129: 9169 .size _ZL10sdio_writehPKhmj.lto_priv.0, .-_ZL10sdio_writehPKhmj.lto_priv.0 9170 .section .text.USBD_DeInit.constprop.0.isra.0,"ax",%progbits 9171 .align 1 9172 .global USBD_DeInit.constprop.0.isra.0 9173 .hidden USBD_DeInit.constprop.0.isra.0 9174 .syntax unified 9175 .thumb 9176 .thumb_func 9177 .type USBD_DeInit.constprop.0.isra.0, %function 9178 USBD_DeInit.constprop.0.isra.0: 9179 .LFB132: 9180 .file 18 "/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @file usbd_core.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief This file provides all the USBD core functions. 6:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ****************************************************************************** 7:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @attention 8:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * 9:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Copyright (c) 2015 STMicroelectronics. 10:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * All rights reserved. 11:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * 12:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * This software is licensed under terms that can be found in the LICENSE file 13:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * in the root directory of this software component. 14:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 15:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * 16:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ****************************************************************************** 17:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 18:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 19:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Includes ------------------------------------------------------------------*/ 20:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #include "usbd_core.h" 21:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 22:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE 23:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #include "usbd_composite_builder.h" 24:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */ 25:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 26:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @addtogroup STM32_USBD_DEVICE_LIBRARY 27:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 28:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 29:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 30:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 31:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE 32:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief usbd core module 33:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 34:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 35:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 36:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_TypesDefinitions 37:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 38:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 39:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 40:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 41:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 42:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ ARM GAS /tmp/ccJhhmLc.s page 553 43:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 44:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 45:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Defines 46:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 47:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 48:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 49:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 50:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 51:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 52:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 53:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 54:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Macros 55:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 56:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 57:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 58:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 59:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 60:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 61:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 62:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 63:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_FunctionPrototypes 64:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 65:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 66:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 67:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 68:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 69:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 70:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 71:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Variables 72:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 73:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 74:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 75:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 76:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @} 77:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 78:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 79:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 80:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Functions 81:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{ 82:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 83:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 84:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 85:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Init 86:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Initialize the device stack and load the class driver 87:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 88:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdesc: Descriptor structure address 89:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param id: Low level core index 90:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: USBD Status 91:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 92:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, 93:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_DescriptorsTypeDef *pdesc, uint8_t id) 94:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 95:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 96:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 97:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check whether the USB Host handle is valid */ 98:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev == NULL) 99:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { ARM GAS /tmp/ccJhhmLc.s page 554 100:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U) 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Device handle"); 102:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* (USBD_DEBUG_LEVEL > 1U) */ 103:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 104:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 105:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 106:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE 107:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */ 108:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0; i < USBD_MAX_SUPPORTED_CLASS; i++) 109:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 110:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unlink previous class*/ 111:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[i] = NULL; 112:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pUserData[i] = NULL; 113:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 114:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set class as inactive */ 115:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[i].Active = 0; 116:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->NumClasses = 0; 117:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0; 118:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 119:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else 120:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unlink previous class*/ 121:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0] = NULL; 122:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pUserData[0] = NULL; 123:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */ 124:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 125:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = NULL; 126:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 127:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Assign USBD Descriptors */ 128:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdesc != NULL) 129:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 130:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = pdesc; 131:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 132:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 133:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Device initial State */ 134:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 135:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->id = id; 136:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 137:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */ 138:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_Init(pdev); 139:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 140:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 141:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 142:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 143:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 144:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DeInit 145:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * De-Initialize the device library 146:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 147:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: USBD Status 148:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 149:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev) 9181 .loc 18 149 20 is_stmt 1 view -0 9182 .cfi_startproc 9183 @ args = 0, pretend = 0, frame = 0 9184 @ frame_needed = 0, uses_anonymous_args = 0 9185 .LVL473: 9186 .loc 18 149 20 is_stmt 0 view .LVU2379 9187 0000 70B5 push {r4, r5, r6, lr} @ ARM GAS /tmp/ccJhhmLc.s page 555 9188 .LCFI56: 9189 .cfi_def_cfa_offset 16 9190 .cfi_offset 4, -16 9191 .cfi_offset 5, -12 9192 .cfi_offset 6, -8 9193 .cfi_offset 14, -4 9194 .LBB727: 9195 .LBB728: 9196 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:453: hal_status = HAL_PCD_Sto 442:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 443:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 444:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Stops the low level portion of the device driver. 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 447:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 448:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev) 449:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 450:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 451:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 452:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 453:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_Stop(pdev->pData); 9197 .loc 13 453 33 is_stmt 1 view .LVU2380 9198 0002 354C ldr r4, .L712 @ tmp141, 9199 0004 D4F8C852 ldr r5, [r4, #712] @ _15, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pData 9200 .LVL474: 9201 .LBB729: 9202 .LBB730: 9203 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1030: __HA 1030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 9204 .loc 14 1030 3 view .LVU2381 9205 0008 95F8BC33 ldrb r3, [r5, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_15].Lock, MEM[(struct PC 9206 000c 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_15].Lock, 9207 000e 1AD0 beq .L694 @, 9208 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1028: USB_ 1028:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9209 .loc 14 1028 26 view .LVU2382 9210 0010 2E68 ldr r6, [r5] @ USBx, MEM[(struct PCD_HandleTypeDef *)_15].Instance 9211 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1030: __HA 1030:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd); 9212 .loc 14 1030 3 discriminator 2 view .LVU2383 9213 0012 0123 movs r3, #1 @ tmp143, 9214 0014 85F8BC33 strb r3, [r5, #956] @ tmp143, MEM[(struct PCD_HandleTypeDef *)_15].Lock 9215 .LVL475: 9216 .LBB731: 9217 .LBB732: 9218 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:236: USBx-> 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 9219 .loc 2 236 7 view .LVU2384 9220 0018 B368 ldr r3, [r6, #8] @ _27, USBx_18->GAHBCFG 9221 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:236: USBx-> 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 9222 .loc 2 236 17 view .LVU2385 9223 001a 23F00103 bic r3, r3, #1 @ _28, _27, 9224 001e B360 str r3, [r6, #8] @ _28, USBx_18->GAHBCFG 9225 .LVL476: 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 9226 .loc 2 236 17 is_stmt 0 view .LVU2386 ARM GAS /tmp/ccJhhmLc.s page 556 9227 .LBE732: 9228 .LBE731: 9229 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1032: (voi 1032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9230 .loc 14 1032 9 is_stmt 1 view .LVU2387 9231 0020 3046 mov r0, r6 @, USBx 9232 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1034: (voi 1034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9233 .loc 14 1034 9 view .LVU2388 9234 0022 1021 movs r1, #16 @, 9235 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1032: (voi 1032:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9236 .loc 14 1032 9 view .LVU2389 9237 0024 FFF7FEFF bl USB_DevDisconnect.isra.0 @ 9238 .LVL477: 9239 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1034: (voi 1034:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9240 .loc 14 1034 9 view .LVU2390 9241 0028 FFF7FEFF bl USB_FlushTxFifo @ 9242 .LVL478: 9243 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1036: if ( 1036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 9244 .loc 14 1036 6 view .LVU2391 9245 002c AB6A ldr r3, [r5, #40] @ MEM[(struct PCD_HandleTypeDef *)_15].Init.battery_charging_enable, MEM[(struct 9246 002e 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_15].Init.battery_charging_enable, 9247 0030 06D1 bne .L695 @, 9248 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1036: if ( 1036:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (hpcd->Init.phy_itface != USB_OTG_ULPI_PHY)) 9249 .loc 14 1036 50 discriminator 1 view .LVU2392 9250 0032 AB69 ldr r3, [r5, #24] @ MEM[(struct PCD_HandleTypeDef *)_15].Init.phy_itface, MEM[(struct PCD_HandleTy 9251 0034 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_15].Init.phy_itface, 9252 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1040: US 1040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 9253 .loc 14 1040 9 view .LVU2393 9254 0036 1EBF ittt ne 9255 0038 B36B ldrne r3, [r6, #56] @ _24, USBx_18->GCCFG 9256 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1040: US 1040:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 9257 .loc 14 1040 17 view .LVU2394 9258 003a 23F48033 bicne r3, r3, #65536 @ _25, _24, 9259 003e B363 strne r3, [r6, #56] @ _25, USBx_18->GCCFG 9260 .L695: 9261 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1043: __HA 1043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9262 .loc 14 1043 3 view .LVU2395 9263 0040 0023 movs r3, #0 @ tmp147, 9264 0042 85F8BC33 strb r3, [r5, #956] @ tmp147, MEM[(struct PCD_HandleTypeDef *)_15].Lock 9265 .LVL479: 9266 .L694: 1043:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9267 .loc 14 1043 3 is_stmt 0 view .LVU2396 9268 .LBE730: 9269 .LBE729: 9270 .LBE728: 9271 .LBE727: 9272 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:157: pdev 150:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { ARM GAS /tmp/ccJhhmLc.s page 557 151:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 152:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 153:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Disconnect the USB Device */ 154:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_Stop(pdev); 155:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 156:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Default State */ 157:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT; 9273 .loc 18 157 19 is_stmt 1 view .LVU2397 9274 0046 0123 movs r3, #1 @ tmp150, 9275 0048 84F89C32 strb r3, [r4, #668] @ tmp150, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].dev_state 9276 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:176: if ( 158:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 159:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE 160:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */ 161:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0; i < USBD_MAX_SUPPORTED_CLASS; i++) 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 163:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */ 164:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U) 165:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 166:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL) 167:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 168:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i; 169:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 170:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[i]->DeInit(pdev, (uint8_t)pdev->dev_config); 171:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 172:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 173:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 174:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else 175:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 176:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL) 9277 .loc 18 176 19 view .LVU2398 9278 004c D4F8B832 ldr r3, [r4, #696] @ _1, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pClass[0] 9279 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:176: if ( 9280 .loc 18 176 6 view .LVU2399 9281 0050 1BB1 cbz r3, .L696 @ _1, 9282 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:178: pd 177:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 178:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0]->DeInit(pdev, (uint8_t)pdev->dev_config); 9283 .loc 18 178 5 view .LVU2400 9284 0052 5B68 ldr r3, [r3, #4] @ _1->DeInit, _1->DeInit 9285 0054 2179 ldrb r1, [r4, #4] @ zero_extendqisi2 @, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].dev_config 9286 0056 2048 ldr r0, .L712 @, 9287 0058 9847 blx r3 @ _1->DeInit 9288 .LVL480: 9289 .L696: 9290 .LBB733: 9291 .LBB734: 9292 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:419: hal_status = HAL_PCD_DeI 419:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9293 .loc 13 419 35 view .LVU2401 9294 005a D4F8C852 ldr r5, [r4, #712] @ _29, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pData 9295 .LBE734: 9296 .LBE733: 9297 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:181: pdev 179:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 180:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 181:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pUserData[0] = NULL; ARM GAS /tmp/ccJhhmLc.s page 558 9298 .loc 18 181 22 view .LVU2402 9299 005e 0023 movs r3, #0 @ tmp159, 9300 0060 C4F8C432 str r3, [r4, #708] @ tmp159, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pUserData[0] 9301 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:186: pdev 182:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 183:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */ 184:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 185:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Device descriptors resources */ 186:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = NULL; 9302 .loc 18 186 15 view .LVU2403 9303 0064 C4F8B432 str r3, [r4, #692] @ tmp159, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pDesc 9304 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:187: pdev 187:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = NULL; 9305 .loc 18 187 19 view .LVU2404 9306 0068 C4F8D032 str r3, [r4, #720] @ tmp159, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pConfDesc 9307 .LVL481: 9308 .LBB750: 9309 .LBB749: 9310 .LBB735: 9311 .LBB736: 9312 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:247: if (h 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 9313 .loc 14 247 6 view .LVU2405 9314 006c 95B3 cbz r5, .L693 @ _29, 9315 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:255: if (U 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 9316 .loc 14 255 26 view .LVU2406 9317 006e 2C68 ldr r4, [r5] @ _32, MEM[(struct PCD_HandleTypeDef *)_29].Instance 9318 .LVL482: 9319 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:252: hpcd- 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9320 .loc 14 252 15 view .LVU2407 9321 0070 0323 movs r3, #3 @ tmp165, 9322 0072 85F8BD33 strb r3, [r5, #957] @ tmp165, MEM[(struct PCD_HandleTypeDef *)_29].State 9323 0076 04F52E61 add r1, r4, #2784 @ _20, _32, 9324 007a 04F51063 add r3, r4, #2304 @ ivtmp.203, _32, 9325 .LBB737: 9326 .LBB738: 9327 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1119: USB 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 9328 .loc 2 1119 27 view .LVU2408 9329 007e 4FF67F32 movw r2, #64383 @ tmp167, 9330 .LVL483: 9331 .L699: 1119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 9332 .loc 2 1119 27 is_stmt 0 view .LVU2409 9333 0082 9A60 str r2, [r3, #8] @ tmp167, _40->DIEPINT 9334 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1120: USB 1120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 9335 .loc 2 1120 28 is_stmt 1 view .LVU2410 9336 0084 C3F80822 str r2, [r3, #520] @ tmp167, _42->DOEPINT 9337 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1117: for ( 1117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9338 .loc 2 1117 18 discriminator 1 view .LVU2411 9339 0088 2033 adds r3, r3, #32 @ ivtmp.203, ivtmp.203, 9340 008a 9942 cmp r1, r3 @ _20, ivtmp.203 9341 008c F9D1 bne .L699 @, ARM GAS /tmp/ccJhhmLc.s page 559 9342 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1124: USBx_ 1124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DOEPMSK = 0U; 9343 .loc 2 1124 25 view .LVU2412 9344 008e 0022 movs r2, #0 @ tmp169, 9345 0090 C4F81028 str r2, [r4, #2064] @ tmp169, _45->DIEPMSK 9346 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1129: ret = 1129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 9347 .loc 2 1129 9 view .LVU2413 9348 0094 2046 mov r0, r4 @, _32 9349 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1125: USBx_ 1125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK = 0U; 9350 .loc 2 1125 25 view .LVU2414 9351 0096 C4F81428 str r2, [r4, #2068] @ tmp169, _45->DOEPMSK 9352 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1126: USBx_ 1126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 9353 .loc 2 1126 25 view .LVU2415 9354 009a C4F81C28 str r2, [r4, #2076] @ tmp169, _45->DAINTMSK 9355 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1129: ret = 1129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 9356 .loc 2 1129 9 view .LVU2416 9357 009e FFF7FEFF bl USB_FlushRxFifo @ 9358 .LVL484: 9359 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1130: if (r 1130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9360 .loc 2 1130 6 view .LVU2417 9361 00a2 B8B9 cbnz r0, .L693 @ tmp182, 9362 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1135: ret = 1135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 9363 .loc 2 1135 9 view .LVU2418 9364 00a4 1021 movs r1, #16 @, 9365 00a6 2046 mov r0, r4 @, _32 9366 .LVL485: 1135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (ret != HAL_OK) 9367 .loc 2 1135 9 is_stmt 0 view .LVU2419 9368 00a8 FFF7FEFF bl USB_FlushTxFifo @ 9369 .LVL486: 9370 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1136: if (r 1136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9371 .loc 2 1136 6 is_stmt 1 view .LVU2420 9372 00ac 90B9 cbnz r0, .L693 @ tmp183, 9373 .LVL487: 1136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9374 .loc 2 1136 6 is_stmt 0 view .LVU2421 9375 .LBE738: 9376 .LBE737: 9377 .LBB739: 9378 .LBB740: 9379 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:134: if(pcdHandle->Instance== 134:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9380 .loc 13 134 5 is_stmt 1 view .LVU2422 9381 00ae B4F1A04F cmp r4, #1342177280 @ _32, 9382 00b2 0CD1 bne .L701 @, 9383 .LVL488: 9384 .LBB741: 9385 .LBB742: 9386 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:137: __HAL_RCC_USB_OTG_FS_C 137:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** ARM GAS /tmp/ccJhhmLc.s page 560 9387 .loc 13 137 5 view .LVU2423 9388 00b4 094A ldr r2, .L712+4 @ tmp174, 9389 00b6 536B ldr r3, [r2, #52] @ _50, MEM[(struct RCC_TypeDef *)1073887232B].AHB2ENR 9390 00b8 23F08003 bic r3, r3, #128 @ _51, _50, 9391 00bc 5363 str r3, [r2, #52] @ _51, MEM[(struct RCC_TypeDef *)1073887232B].AHB2ENR 9392 .LVL489: 9393 .LBB743: 9394 .LBB744: 9395 @ /workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h:1728: NVIC->ICER[(((uint32_t 1728:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/core_cm4.h **** __DSB(); 9396 .loc 15 1728 43 view .LVU2424 9397 00be 084B ldr r3, .L712+8 @ tmp176, 9398 00c0 0822 movs r2, #8 @ tmp177, 9399 00c2 C3F88820 str r2, [r3, #136] @ tmp177, MEM[(struct NVIC_Type *)3758153984B].ICER[2] 9400 .LBB745: 9401 .LBB746: 9402 @ /workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h:277: __ASM volatile ("dsb 0xF 9403 .file 19 "/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h" 1:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//** 2:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h 3:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file 4:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * @version V5.4.2 5:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * @date 17. December 2022 6:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/ 7:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /* 8:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2021 Arm Limited. All rights reserved. 9:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * 10:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0 11:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * 12:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may 13:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License. 14:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at 15:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * 16:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0 17:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * 18:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software 19:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and 22:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * limitations under the License. 23:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 24:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 25:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H 26:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H 27:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 28:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */ 29:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 30:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion" 31:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion" 32:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter" 33:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 34:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */ 35:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin 36:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0) 37:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 38:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 39:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */ ARM GAS /tmp/ccJhhmLc.s page 561 40:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM 41:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm 42:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 43:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE 44:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline 45:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 46:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE 47:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline 48:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 49:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE 50:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline 51:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 52:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN 53:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__)) 54:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 55:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED 56:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used)) 57:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 58:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK 59:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak)) 60:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 61:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED 62:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1))) 63:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 64:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT 65:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) 66:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 67:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION 68:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1))) 69:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 70:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */ 71:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 72:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 73:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 74:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; }; 75:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 76:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) 77:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 78:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE 79:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 80:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 81:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 82:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; 83:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 84:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- 85:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 86:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ 87:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 88:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 89:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 90:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; 91:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 92:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add 93:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 94:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE 95:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 96:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" ARM GAS /tmp/ccJhhmLc.s page 562 97:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 98:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; 99:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 100:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))- 101:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 102:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ 103:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 104:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 105:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 106:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; 107:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 108:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add 109:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 110:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED 111:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x))) 112:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 113:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT 114:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict 115:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 116:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __COMPILER_BARRIER 117:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __COMPILER_BARRIER() __ASM volatile("":::"memory") 118:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 119:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_INIT 120:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __NO_INIT __attribute__ ((section (".bss.noinit"))) 121:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 122:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIAS 123:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __ALIAS(x) __attribute__ ((alias(x))) 124:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 125:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 126:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /* ######################### Startup and Lowlevel Init ######################## */ 127:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 128:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __PROGRAM_START 129:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 130:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /** 131:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \brief Initializes data and bss sections 132:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \details This default implementations initialized all data and additional bss 133:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** sections relying on .copy.table and .zero.table specified properly 134:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** in the used linker script. 135:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 136:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 137:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void) 138:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** { 139:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** extern void _start(void) __NO_RETURN; 140:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 141:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** typedef struct __copy_table { 142:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** uint32_t const* src; 143:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest; 144:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen; 145:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } __copy_table_t; 146:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 147:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** typedef struct __zero_table { 148:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest; 149:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen; 150:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } __zero_table_t; 151:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 152:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_start__; 153:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_end__; ARM GAS /tmp/ccJhhmLc.s page 563 154:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_start__; 155:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_end__; 156:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 157:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable 158:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; iwlen; ++i) { 159:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = pTable->src[i]; 160:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 161:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 162:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 163:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable 164:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; iwlen; ++i) { 165:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = 0u; 166:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 167:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 168:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 169:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** _start(); 170:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 171:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 172:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __PROGRAM_START __cmsis_start 173:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 174:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 175:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __INITIAL_SP 176:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __INITIAL_SP __StackTop 177:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 178:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 179:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_LIMIT 180:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __STACK_LIMIT __StackLimit 181:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 182:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 183:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE 184:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE __Vectors 185:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 186:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 187:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE_ATTRIBUTE 188:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section(".vectors"))) 189:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 190:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 191:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) 192:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_SEAL 193:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __STACK_SEAL __StackSeal 194:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 195:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 196:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_SIZE 197:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __TZ_STACK_SEAL_SIZE 8U 198:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 199:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 200:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #ifndef __TZ_STACK_SEAL_VALUE 201:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL 202:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 203:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 204:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 205:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) { 206:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE; 207:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 208:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 209:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 210:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** ARM GAS /tmp/ccJhhmLc.s page 564 211:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */ 212:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 213:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions 214:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** @{ 215:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 216:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 217:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2. 218:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l" 219:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */ 220:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__) 221:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r) 222:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r) 223:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r) 224:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #else 225:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r) 226:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r) 227:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r) 228:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #endif 229:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 230:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /** 231:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \brief No Operation 232:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes. 233:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 234:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop") 235:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 236:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /** 237:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt 238:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o 239:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 240:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi":::"memory") 241:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 242:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 243:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /** 244:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event 245:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter 246:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs. 247:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 248:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe":::"memory") 249:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 250:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 251:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /** 252:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \brief Send Event 253:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. 254:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 255:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev") 256:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 257:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 258:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /** 259:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier 260:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor, 261:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory, 262:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed. 263:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 264:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void) 265:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** { 266:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory"); 267:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } ARM GAS /tmp/ccJhhmLc.s page 565 268:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 269:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** 270:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** /** 271:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier 272:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier. 273:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete. 274:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** */ 275:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void) 276:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** { 277:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory"); 9404 .loc 19 277 3 view .LVU2425 9405 .syntax unified 9406 @ 277 "/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h" 1 9407 00c6 BFF34F8F dsb 0xF 9408 @ 0 "" 2 9409 .thumb 9410 .syntax unified 9411 .LBE746: 9412 .LBE745: 9413 .LBB747: 9414 .LBB748: 9415 @ /workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h:266: __ASM volatile ("isb 0xF 266:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 9416 .loc 19 266 3 view .LVU2426 9417 .syntax unified 9418 @ 266 "/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h" 1 9419 00ca BFF36F8F isb 0xF 9420 @ 0 "" 2 9421 .LVL490: 9422 .thumb 9423 .syntax unified 9424 .L701: 266:/workspaces/edgetx/radio/src/thirdparty/CMSIS/Include/cmsis_gcc.h **** } 9425 .loc 19 266 3 is_stmt 0 view .LVU2427 9426 .LBE748: 9427 .LBE747: 9428 .LBE744: 9429 .LBE743: 9430 .LBE742: 9431 .LBE741: 9432 .LBE740: 9433 .LBE739: 9434 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:273: hpcd- 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9435 .loc 14 273 15 is_stmt 1 view .LVU2428 9436 00ce 0023 movs r3, #0 @ tmp178, 9437 00d0 85F8BD33 strb r3, [r5, #957] @ tmp178, MEM[(struct PCD_HandleTypeDef *)_29].State 9438 .LVL491: 9439 .L693: 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9440 .loc 14 273 15 is_stmt 0 view .LVU2429 9441 .LBE736: 9442 .LBE735: 9443 .LBE749: 9444 .LBE750: 9445 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:193: } 188:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/ccJhhmLc.s page 566 189:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* DeInitialize low level driver */ 190:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_DeInit(pdev); 191:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 192:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 193:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 9446 .loc 18 193 1 is_stmt 1 view .LVU2430 9447 00d4 70BD pop {r4, r5, r6, pc} @ 9448 .L713: 9449 00d6 00BF .align 2 9450 .L712: 9451 00d8 00000000 .word hUsbDevice 9452 00dc 00380240 .word 1073887232 9453 00e0 00E100E0 .word -536813312 9454 .cfi_endproc 9455 .LFE132: 9456 .size USBD_DeInit.constprop.0.isra.0, .-USBD_DeInit.constprop.0.isra.0 9457 .section .text.USBD_RegisterClass.constprop.0.isra.0,"ax",%progbits 9458 .align 1 9459 .global USBD_RegisterClass.constprop.0.isra.0 9460 .hidden USBD_RegisterClass.constprop.0.isra.0 9461 .syntax unified 9462 .thumb 9463 .thumb_func 9464 .type USBD_RegisterClass.constprop.0.isra.0, %function 9465 USBD_RegisterClass.constprop.0.isra.0: 9466 .LVL492: 9467 .LFB148: 194:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 195:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 196:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterClass 197:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Link class driver to Device Core. 198:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle 199:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pclass: Class handle 200:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 201:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 202:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass) 9468 .loc 18 202 20 view -0 9469 .cfi_startproc 9470 @ args = 0, pretend = 0, frame = 8 9471 @ frame_needed = 0, uses_anonymous_args = 0 9472 .loc 18 202 20 is_stmt 0 view .LVU2432 9473 0000 13B5 push {r0, r1, r4, lr} @ 9474 .LCFI57: 9475 .cfi_def_cfa_offset 16 9476 .cfi_offset 4, -8 9477 .cfi_offset 14, -4 9478 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:204: uint 203:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 204:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint16_t len = 0U; 9479 .loc 18 204 12 is_stmt 1 view .LVU2433 9480 0002 0023 movs r3, #0 @ tmp120, 9481 0004 ADF80630 strh r3, [sp, #6] @ movhi @ tmp120, len 9482 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:206: if ( 205:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 206:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pclass == NULL) 9483 .loc 18 206 6 view .LVU2434 9484 0008 70B1 cbz r0, .L714 @ pclass, ARM GAS /tmp/ccJhhmLc.s page 567 9485 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:215: pdev 207:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 208:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U) 209:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Class handle"); 210:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* (USBD_DEBUG_LEVEL > 1U) */ 211:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL; 212:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 213:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 214:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* link the class to the USB Device handle */ 215:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[0] = pclass; 9486 .loc 18 215 19 view .LVU2435 9487 000a 084C ldr r4, .L723 @ tmp121, 9488 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:224: if ( 216:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 217:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Get Device Configuration Descriptor */ 218:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USB_HS 219:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId]->GetHSConfigDescriptor != NULL) 220:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 221:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = (void *)pdev->pClass[pdev->classId]->GetHSConfigDescriptor(&len); 222:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 223:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else /* Default USE_USB_FS */ 224:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId]->GetFSConfigDescriptor != NULL) 9489 .loc 18 224 34 view .LVU2436 9490 000c C36A ldr r3, [r0, #44] @ _3, pclass_1(D)->GetFSConfigDescriptor 9491 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:215: pdev 215:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 9492 .loc 18 215 19 view .LVU2437 9493 000e C4F8B802 str r0, [r4, #696] @ pclass, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pClass[0] 9494 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:224: if ( 9495 .loc 18 224 6 view .LVU2438 9496 0012 23B1 cbz r3, .L716 @ _3, 9497 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:226: pd 225:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 226:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = (void *)pdev->pClass[pdev->classId]->GetFSConfigDescriptor(&len); 9498 .loc 18 226 31 view .LVU2439 9499 0014 0DF10600 add r0, sp, #6 @,, 9500 .LVL493: 9501 .loc 18 226 31 is_stmt 0 view .LVU2440 9502 0018 9847 blx r3 @ _3 9503 .LVL494: 9504 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:226: pd 9505 .loc 18 226 21 is_stmt 1 discriminator 1 view .LVU2441 9506 001a C4F8D002 str r0, [r4, #720] @ tmp130, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].pConfDesc 9507 .L716: 9508 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:231: pdev 227:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 228:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USB_FS */ 229:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 230:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Increment the NumClasses */ 231:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->NumClasses++; 9509 .loc 18 231 19 view .LVU2442 9510 001e D4F8D832 ldr r3, [r4, #728] @ MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].NumClasses, MEM[(struct USBD_Ha 9511 0022 0133 adds r3, r3, #1 @ _8, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].NumClasses, 9512 0024 C4F8D832 str r3, [r4, #728] @ _8, MEM[(struct USBD_HandleTypeDef *)&hUsbDevice].NumClasses 9513 .L714: 9514 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:234: } 232:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/ccJhhmLc.s page 568 233:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 234:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 9515 .loc 18 234 1 view .LVU2443 9516 0028 02B0 add sp, sp, #8 @,, 9517 .LCFI58: 9518 .cfi_def_cfa_offset 8 9519 @ sp needed @ 9520 002a 10BD pop {r4, pc} @ 9521 .L724: 9522 .align 2 9523 .L723: 9524 002c 00000000 .word hUsbDevice 9525 .cfi_endproc 9526 .LFE148: 9527 .size USBD_RegisterClass.constprop.0.isra.0, .-USBD_RegisterClass.constprop.0.isra.0 9528 .section .text.USBD_LL_PrepareReceive.isra.0,"ax",%progbits 9529 .align 1 9530 .global USBD_LL_PrepareReceive.isra.0 9531 .hidden USBD_LL_PrepareReceive.isra.0 9532 .syntax unified 9533 .thumb 9534 .thumb_func 9535 .type USBD_LL_PrepareReceive.isra.0, %function 9536 USBD_LL_PrepareReceive.isra.0: 9537 .LVL495: 9538 .LFB150: 454:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 455:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 456:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 457:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 458:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 459:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 460:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 461:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Opens an endpoint of the low level driver. 462:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 463:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_addr: Endpoint number 464:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_type: Endpoint type 465:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_mps: Endpoint max packet size 466:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 467:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 468:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint1 469:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 470:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 471:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 472:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type); 474:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 476:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 478:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 479:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 480:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 481:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Closes an endpoint of the low level driver. 482:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_addr: Endpoint number 484:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status ARM GAS /tmp/ccJhhmLc.s page 569 485:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 486:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) 487:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 488:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 489:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 490:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 491:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr); 492:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 493:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 494:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 495:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 496:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 497:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 498:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 499:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Flushes an endpoint of the Low Level Driver. 500:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 501:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_addr: Endpoint number 502:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 503:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) 505:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 506:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 507:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 508:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr); 510:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 511:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 512:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 513:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 514:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 515:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 516:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 517:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Sets a Stall condition on an endpoint of the Low Level Driver. 518:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 519:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_addr: Endpoint number 520:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 521:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) 523:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 524:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 525:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 526:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 527:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr); 528:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 529:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 530:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 531:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 532:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 533:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 534:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 535:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Clears a Stall condition on an endpoint of the Low Level Driver. 536:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 537:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_addr: Endpoint number 538:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 539:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) 541:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { ARM GAS /tmp/ccJhhmLc.s page 570 542:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 543:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 544:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 545:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr); 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 548:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 549:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 550:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 551:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 553:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Returns Stall condition. 554:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 555:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_addr: Endpoint number 556:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval Stall (1: Yes, 0: No) 557:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 558:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) 559:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData; 561:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** if((ep_addr & 0x80) == 0x80) 563:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 564:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return hpcd->IN_ep[ep_addr & 0x7F].is_stall; 565:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 566:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** else 567:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 568:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return hpcd->OUT_ep[ep_addr & 0x7F].is_stall; 569:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 570:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 571:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 572:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 573:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Assigns a USB address to the device. 574:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 575:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param dev_addr: Device address 576:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 577:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 578:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr) 579:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 580:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 581:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 582:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 583:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr); 584:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 585:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 586:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 587:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 588:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 589:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 590:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 591:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Transmits data over an endpoint. 592:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 593:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_addr: Endpoint number 594:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pbuf: Pointer to data to be sent 595:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param size: Data size 596:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 597:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 598:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint3 ARM GAS /tmp/ccJhhmLc.s page 571 599:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 600:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 601:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 602:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 603:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size); 604:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 605:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 606:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 607:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 608:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 609:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 610:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** /** 611:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @brief Prepares an endpoint for reception. 612:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pdev: Device handle 613:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param ep_addr: Endpoint number 614:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param pbuf: Pointer to data to be received 615:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @param size: Data size 616:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** * @retval USBD status 617:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** */ 618:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, 9539 .loc 13 618 20 view -0 9540 .cfi_startproc 9541 @ args = 0, pretend = 0, frame = 0 9542 @ frame_needed = 0, uses_anonymous_args = 0 9543 @ link register save eliminated. 9544 .loc 13 618 20 is_stmt 0 view .LVU2445 9545 0000 30B4 push {r4, r5} @ 9546 .LCFI59: 9547 .cfi_def_cfa_offset 8 9548 .cfi_offset 4, -8 9549 .cfi_offset 5, -4 9550 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:623: hal_status = HAL_PCD_EP_ 619:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 620:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK; 621:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK; 622:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 623:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size); 9551 .loc 13 623 39 is_stmt 1 view .LVU2446 9552 0002 D0F8C852 ldr r5, [r0, #712] @ _2, pdev_1(D)->pData 9553 .LVL496: 9554 .loc 13 623 39 is_stmt 0 view .LVU2447 9555 0006 01F00F04 and r4, r1, #15 @ _10, tmp162, 9556 .LBB753: 9557 .LBB754: 9558 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1804: ep = 1697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Set the USB Device address. 1703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param address new device address 1705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) 1708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccJhhmLc.s page 572 1709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** hpcd->USB_Address = address; 1711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_SetDevAddress(hpcd->Instance, address); 1712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Open and configure an endpoint. 1718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_mps endpoint max packet size 1721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_type endpoint type 1722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, 1725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint16_t ep_mps, uint8_t ep_type) 1726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef ret = HAL_OK; 1728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U) 1731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 1738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->maxpacket = ep_mps; 1743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->type = ep_type; 1744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep->is_in != 0U) 1746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Assign a Tx FIFO */ 1748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->tx_fifo_num = ep->num; 1749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /* Set initial data PID. */ 1751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (ep_type == EP_TYPE_BULK) 1752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->data_pid_start = 0U; 1754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 1758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return ret; 1761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Deactivate an endpoint. 1765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle ARM GAS /tmp/ccJhhmLc.s page 573 1766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U) 1774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 1781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 1787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Receive an amount of data. 1794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pBuf pointer to the reception buffer 1797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param len amount of data to be received 1798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint3 1801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 9559 .loc 14 1804 6 is_stmt 1 view .LVU2448 9560 000a 1C20 movs r0, #28 @ tmp130, 9561 .LVL497: 9562 .loc 14 1804 6 is_stmt 0 view .LVU2449 9563 000c 6043 muls r0, r4, r0 @ _7, _10 9564 000e 00F5FE71 add r1, r0, #508 @ _29, _7, 9565 .LVL498: 9566 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1807: ep-> 1805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /*setup and start the Xfer */ 1807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff = pBuf; 9567 .loc 14 1807 17 is_stmt 1 view .LVU2450 9568 0012 2844 add r0, r0, r5 @ tmp134, _2 9569 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1804: ep = 1804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9570 .loc 14 1804 6 view .LVU2451 9571 0014 2944 add r1, r1, r5 @ ep, _2 9572 .LVL499: ARM GAS /tmp/ccJhhmLc.s page 574 9573 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1808: ep-> 1808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 9574 .loc 14 1808 16 view .LVU2452 9575 0016 C0F81032 str r3, [r0, #528] @ tmp164, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_1 9576 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1809: ep-> 1809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = 0U; 9577 .loc 14 1809 18 view .LVU2453 9578 001a 0023 movs r3, #0 @ tmp144, 9579 .LVL500: 9580 .loc 14 1809 18 is_stmt 0 view .LVU2454 9581 001c C0F81432 str r3, [r0, #532] @ tmp144, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_1 9582 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1810: ep-> 1810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 9583 .loc 14 1810 13 is_stmt 1 view .LVU2455 9584 0020 80F8FD31 strb r3, [r0, #509] @ tmp144, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_ 9585 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1811: ep-> 1811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 9586 .loc 14 1811 11 view .LVU2456 9587 0024 80F8FC41 strb r4, [r0, #508] @ _10, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_11] 9588 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1813: if ( 1812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.dma_enable == 1U) 9589 .loc 14 1813 17 view .LVU2457 9590 0028 2B69 ldr r3, [r5, #16] @ _13, MEM[(struct PCD_HandleTypeDef *)_2].Init.dma_enable 9591 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1807: ep-> 1807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 9592 .loc 14 1807 17 view .LVU2458 9593 002a C0F80822 str r2, [r0, #520] @ pbuf, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_11] 9594 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1813: if ( 9595 .loc 14 1813 6 view .LVU2459 9596 002e 012B cmp r3, #1 @ _13, 9597 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1815: ep 1814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->dma_addr = (uint32_t)pBuf; 9598 .loc 14 1815 18 view .LVU2460 9599 0030 08BF it eq 9600 0032 C0F80C22 streq r2, [r0, #524] @ pbuf, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_1 9601 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1820: (v 1816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U) 1819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 9602 .loc 14 1820 32 view .LVU2461 9603 0036 2868 ldr r0, [r5] @ pretmp_6, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9604 .LVL501: 9605 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1820: (v 9606 .loc 14 1820 11 view .LVU2462 9607 0038 DAB2 uxtb r2, r3 @ _9, _13 9608 .LVL502: 9609 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1818: if ( 1818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 9610 .loc 14 1818 6 view .LVU2463 9611 003a 14B9 cbnz r4, .L727 @ _10, 9612 .LBE754: 9613 .LBE753: 9614 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:628: } ARM GAS /tmp/ccJhhmLc.s page 575 624:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 625:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** usb_status = USBD_Get_USB_Status(hal_status); 626:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 627:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** return usb_status; 628:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 9615 .loc 13 628 1 view .LVU2464 9616 003c 30BC pop {r4, r5} @ 9617 .LCFI60: 9618 .cfi_remember_state 9619 .cfi_restore 5 9620 .cfi_restore 4 9621 .cfi_def_cfa_offset 0 9622 .LVL503: 9623 .LBB757: 9624 .LBB755: 9625 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1820: (v 9626 .loc 14 1820 11 view .LVU2465 9627 003e FFF7FEBF b USB_EP0StartXfer.isra.0 @ 9628 .LVL504: 9629 .L727: 9630 .LCFI61: 9631 .cfi_restore_state 9632 .loc 14 1820 11 is_stmt 0 view .LVU2466 9633 .LBE755: 9634 .LBE757: 9635 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:628: } 9636 .loc 13 628 1 is_stmt 1 view .LVU2467 9637 0042 30BC pop {r4, r5} @ 9638 .LCFI62: 9639 .cfi_restore 5 9640 .cfi_restore 4 9641 .cfi_def_cfa_offset 0 9642 .LVL505: 9643 .LBB758: 9644 .LBB756: 9645 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1824: (v 1821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 9646 .loc 14 1824 11 view .LVU2468 9647 0044 FFF7FEBF b USB_EPStartXfer.isra.0 @ 9648 .LVL506: 9649 .loc 14 1824 11 is_stmt 0 view .LVU2469 9650 .LBE756: 9651 .LBE758: 9652 .cfi_endproc 9653 .LFE150: 9654 .size USBD_LL_PrepareReceive.isra.0, .-USBD_LL_PrepareReceive.isra.0 9655 .section .text.USBD_LL_Transmit.isra.0,"ax",%progbits 9656 .align 1 9657 .global USBD_LL_Transmit.isra.0 9658 .hidden USBD_LL_Transmit.isra.0 9659 .syntax unified 9660 .thumb 9661 .thumb_func 9662 .type USBD_LL_Transmit.isra.0, %function ARM GAS /tmp/ccJhhmLc.s page 576 9663 USBD_LL_Transmit.isra.0: 9664 .LVL507: 9665 .LFB153: 598:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9666 .loc 13 598 20 is_stmt 1 view -0 9667 .cfi_startproc 9668 @ args = 0, pretend = 0, frame = 0 9669 @ frame_needed = 0, uses_anonymous_args = 0 9670 @ link register save eliminated. 598:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9671 .loc 13 598 20 is_stmt 0 view .LVU2471 9672 0000 30B4 push {r4, r5} @ 9673 .LCFI63: 9674 .cfi_def_cfa_offset 8 9675 .cfi_offset 4, -8 9676 .cfi_offset 5, -4 9677 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:603: hal_status = HAL_PCD_EP_ 603:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9678 .loc 13 603 40 is_stmt 1 view .LVU2472 9679 0002 D0F8C852 ldr r5, [r0, #712] @ _2, pdev_1(D)->pData 9680 .LVL508: 603:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9681 .loc 13 603 40 is_stmt 0 view .LVU2473 9682 0006 01F00F04 and r4, r1, #15 @ _10, tmp162, 9683 .LBB761: 9684 .LBB762: 9685 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1852: ep = 1825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Get Received Data Size 1832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval Data Size 1835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; 1839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Send an amount of data 1842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param pBuf pointer to the transmission buffer 1845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param len amount of data to be sent 1846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint 1849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 9686 .loc 14 1852 6 is_stmt 1 view .LVU2474 9687 000a 1C20 movs r0, #28 @ tmp130, ARM GAS /tmp/ccJhhmLc.s page 577 9688 .LVL509: 9689 .loc 14 1852 6 is_stmt 0 view .LVU2475 9690 000c 6043 muls r0, r4, r0 @ _7, _10 9691 000e 00F13C01 add r1, r0, #60 @ _29, _7, 9692 .LVL510: 9693 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1855: ep-> 1853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /*setup and start the Xfer */ 1855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_buff = pBuf; 9694 .loc 14 1855 17 is_stmt 1 view .LVU2476 9695 0012 2844 add r0, r0, r5 @ tmp134, _2 9696 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1852: ep = 1852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 9697 .loc 14 1852 6 view .LVU2477 9698 0014 2944 add r1, r1, r5 @ ep, _2 9699 .LVL511: 9700 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1856: ep-> 1856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 9701 .loc 14 1856 16 view .LVU2478 9702 0016 0365 str r3, [r0, #80] @ tmp164, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11] 9703 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1857: ep-> 1857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_count = 0U; 9704 .loc 14 1857 18 view .LVU2479 9705 0018 0023 movs r3, #0 @ tmp144, 9706 .LVL512: 9707 .loc 14 1857 18 is_stmt 0 view .LVU2480 9708 001a 4365 str r3, [r0, #84] @ tmp144, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11] 9709 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1858: ep-> 1858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 9710 .loc 14 1858 13 is_stmt 1 view .LVU2481 9711 001c 0123 movs r3, #1 @ tmp149, 9712 001e 80F83D30 strb r3, [r0, #61] @ tmp149, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11 9713 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1859: ep-> 1859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 9714 .loc 14 1859 11 view .LVU2482 9715 0022 80F83C40 strb r4, [r0, #60] @ _10, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11].n 9716 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1861: if ( 1860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (hpcd->Init.dma_enable == 1U) 9717 .loc 14 1861 17 view .LVU2483 9718 0026 2B69 ldr r3, [r5, #16] @ _13, MEM[(struct PCD_HandleTypeDef *)_2].Init.dma_enable 9719 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1855: ep-> 1855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->xfer_len = len; 9720 .loc 14 1855 17 view .LVU2484 9721 0028 8264 str r2, [r0, #72] @ pbuf, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11].x 9722 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1861: if ( 9723 .loc 14 1861 6 view .LVU2485 9724 002a 012B cmp r3, #1 @ _13, 9725 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1863: ep 1862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->dma_addr = (uint32_t)pBuf; 9726 .loc 14 1863 18 view .LVU2486 9727 002c 08BF it eq 9728 002e C264 streq r2, [r0, #76] @ pbuf, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_11] 9729 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1868: (v 1864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccJhhmLc.s page 578 1866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U) 1867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 9730 .loc 14 1868 32 view .LVU2487 9731 0030 2868 ldr r0, [r5] @ pretmp_6, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9732 .LVL513: 9733 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1868: (v 9734 .loc 14 1868 11 view .LVU2488 9735 0032 DAB2 uxtb r2, r3 @ _9, _13 9736 .LVL514: 9737 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1866: if ( 1866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 9738 .loc 14 1866 6 view .LVU2489 9739 0034 14B9 cbnz r4, .L730 @ _10, 9740 .LBE762: 9741 .LBE761: 9742 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:608: } 608:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9743 .loc 13 608 1 view .LVU2490 9744 0036 30BC pop {r4, r5} @ 9745 .LCFI64: 9746 .cfi_remember_state 9747 .cfi_restore 5 9748 .cfi_restore 4 9749 .cfi_def_cfa_offset 0 9750 .LVL515: 9751 .LBB765: 9752 .LBB763: 9753 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1868: (v 9754 .loc 14 1868 11 view .LVU2491 9755 0038 FFF7FEBF b USB_EP0StartXfer.isra.0 @ 9756 .LVL516: 9757 .L730: 9758 .LCFI65: 9759 .cfi_restore_state 9760 .loc 14 1868 11 is_stmt 0 view .LVU2492 9761 .LBE763: 9762 .LBE765: 9763 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:608: } 608:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9764 .loc 13 608 1 is_stmt 1 view .LVU2493 9765 003c 30BC pop {r4, r5} @ 9766 .LCFI66: 9767 .cfi_restore 5 9768 .cfi_restore 4 9769 .cfi_def_cfa_offset 0 9770 .LVL517: 9771 .LBB766: 9772 .LBB764: 9773 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1872: (v 1869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 9774 .loc 14 1872 11 view .LVU2494 9775 003e FFF7FEBF b USB_EPStartXfer.isra.0 @ 9776 .LVL518: ARM GAS /tmp/ccJhhmLc.s page 579 9777 .loc 14 1872 11 is_stmt 0 view .LVU2495 9778 .LBE764: 9779 .LBE766: 9780 .cfi_endproc 9781 .LFE153: 9782 .size USBD_LL_Transmit.isra.0, .-USBD_LL_Transmit.isra.0 9783 .section .text.USBD_LL_ClearStallEP.isra.0,"ax",%progbits 9784 .align 1 9785 .global USBD_LL_ClearStallEP.isra.0 9786 .hidden USBD_LL_ClearStallEP.isra.0 9787 .syntax unified 9788 .thumb 9789 .thumb_func 9790 .type USBD_LL_ClearStallEP.isra.0, %function 9791 USBD_LL_ClearStallEP.isra.0: 9792 .LVL519: 9793 .LFB156: 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9794 .loc 13 540 20 is_stmt 1 view -0 9795 .cfi_startproc 9796 @ args = 0, pretend = 0, frame = 0 9797 @ frame_needed = 0, uses_anonymous_args = 0 9798 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:545: hal_status = HAL_PCD_EP_ 545:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9799 .loc 13 545 40 view .LVU2497 9800 0000 D0F8C802 ldr r0, [r0, #712] @ _2, pdev_1(D)->pData 9801 .LVL520: 9802 .LBB771: 9803 .LBB772: 9804 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1931: if ( 1873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Set a STALL condition over an endpoint 1880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) 1889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 1891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U) 1894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 1896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { ARM GAS /tmp/ccJhhmLc.s page 580 1900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr]; 1901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 1902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_stall = 1U; 1905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 1906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 1908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPSetStall(hpcd->Instance, ep); 1910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U) 1912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); 1914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 1917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Clear a STALL condition over in an endpoint 1923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** PCD_EPTypeDef *ep; 1930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) 9805 .loc 14 1931 6 view .LVU2498 9806 0004 4368 ldr r3, [r0, #4] @ MEM[(struct PCD_HandleTypeDef *)_2].Init.dev_endpoints, MEM[(struct PCD_HandleT 9807 0006 01F00F02 and r2, r1, #15 @ _8, ep_addr, 9808 000a 9A42 cmp r2, r3 @ _8, MEM[(struct PCD_HandleTypeDef *)_2].Init.dev_endpoints 9809 .LBE772: 9810 .LBE771: 9811 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:540: USBD_StatusTypeDef USBD_LL 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9812 .loc 13 540 20 view .LVU2499 9813 000c 10B5 push {r4, lr} @ 9814 .LCFI67: 9815 .cfi_def_cfa_offset 8 9816 .cfi_offset 4, -8 9817 .cfi_offset 14, -4 9818 .LBB776: 9819 .LBB775: 9820 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1931: if ( 9821 .loc 14 1931 6 view .LVU2500 9822 000e 37D8 bhi .L731 @, 9823 0010 1C23 movs r3, #28 @ tmp150, 9824 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1936: if ( 1932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_ERROR; 1934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccJhhmLc.s page 581 1936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U) 9825 .loc 14 1936 6 view .LVU2501 9826 0012 11F0800F tst r1, #128 @ ep_addr, 9827 0016 02FB03F3 mul r3, r2, r3 @ _24, _8, tmp150 9828 001a 00EB0301 add r1, r0, r3 @ tmp187, _2, _24 9829 .LVL521: 9830 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1938: ep 1937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 9831 .loc 14 1938 8 view .LVU2502 9832 001e 15BF itete ne 9833 0020 3C33 addne r3, r3, #60 @ _36, _24, 9834 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1943: ep 1939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 1940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 9835 .loc 14 1943 8 view .LVU2503 9836 0022 03F5FE73 addeq r3, r3, #508 @ _4, _24, 9837 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1938: ep 1938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 9838 .loc 14 1938 8 view .LVU2504 9839 0026 1B18 addne r3, r3, r0 @ ep, _2 9840 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1943: ep 9841 .loc 14 1943 8 view .LVU2505 9842 0028 1B18 addeq r3, r3, r0 @ ep, _2 9843 .LVL522: 9844 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1939: ep 1939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 9845 .loc 14 1939 15 view .LVU2506 9846 002a 15BF itete ne 9847 002c 0124 movne r4, #1 @ tmp159, 9848 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1944: ep 1944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 9849 .loc 14 1944 15 view .LVU2507 9850 002e 0024 moveq r4, #0 @ tmp166, 9851 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1939: ep 1939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 9852 .loc 14 1939 15 view .LVU2508 9853 0030 81F83D40 strbne r4, [r1, #61] @ tmp159, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_ 9854 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1944: ep 9855 .loc 14 1944 15 view .LVU2509 9856 0034 81F8FD41 strbeq r4, [r1, #509] @ tmp166, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep 9857 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1947: ep-> 1945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_stall = 0U; 9858 .loc 14 1947 16 view .LVU2510 9859 0038 0021 movs r1, #0 @ tmp168, 9860 003a 9970 strb r1, [r3, #2] @ tmp168, ep_14->is_stall 9861 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1948: ep-> 1948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 9862 .loc 14 1948 11 view .LVU2511 9863 003c 1A70 strb r2, [r3] @ _8, ep_14->num 9864 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1950: __HA 1949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ARM GAS /tmp/ccJhhmLc.s page 582 1950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 9865 .loc 14 1950 3 view .LVU2512 9866 003e 90F8BC23 ldrb r2, [r0, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 9867 0042 012A cmp r2, #1 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 9868 0044 1CD0 beq .L731 @, 9869 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1950: __HA 9870 .loc 14 1950 3 is_stmt 0 discriminator 2 view .LVU2513 9871 0046 0122 movs r2, #1 @ tmp172, 9872 0048 80F8BC23 strb r2, [r0, #956] @ tmp172, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9873 .LVL523: 9874 .LBB773: 9875 .LBB774: 9876 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1084: uint3 1084:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 9877 .loc 2 1084 12 is_stmt 1 view .LVU2514 9878 004c 1978 ldrb r1, [r3] @ zero_extendqisi2 @ epnum_23, MEM[(unsigned char *)ep_14] 9879 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1089: if 1089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9880 .loc 2 1089 36 view .LVU2515 9881 004e DC78 ldrb r4, [r3, #3] @ zero_extendqisi2 @ MEM[(unsigned char *)ep_14 + 3B], MEM[(unsigned char *)ep_1 9882 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1086: if (e 1086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9883 .loc 2 1086 6 view .LVU2516 9884 0050 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 @ MEM[(unsigned char *)ep_14 + 1B], MEM[(unsigned char *)ep_1 9885 .LVL524: 9886 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1083: uint3 1083:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 9887 .loc 2 1083 12 view .LVU2517 9888 0052 0268 ldr r2, [r0] @ USBx_BASE, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9889 .LVL525: 9890 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1086: if (e 1086:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9891 .loc 2 1086 6 view .LVU2518 9892 0054 012B cmp r3, #1 @ MEM[(unsigned char *)ep_14 + 1B], 9893 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1088: USB 1088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 9894 .loc 2 1088 21 view .LVU2519 9895 0056 0CBF ite eq 9896 0058 02F51063 addeq r3, r2, #2304 @ _5, USBx_BASE, 9897 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1096: USB 1096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 9898 .loc 2 1096 22 view .LVU2520 9899 005c 02F53063 addne r3, r2, #2816 @ _17, USBx_BASE, 9900 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1088: USB 1088:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 9901 .loc 2 1088 21 view .LVU2521 9902 0060 4901 lsls r1, r1, #5 @ _41, epnum_23, 9903 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1089: if 1089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9904 .loc 2 1089 36 view .LVU2522 9905 0062 023C subs r4, r4, #2 @ tmp177, MEM[(unsigned char *)ep_14 + 3B], 9906 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1096: USB 1096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 9907 .loc 2 1096 22 view .LVU2523 9908 0064 5A58 ldr r2, [r3, r1] @ _39,* _41 9909 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1096: USB 1096:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) ARM GAS /tmp/ccJhhmLc.s page 583 9910 .loc 2 1096 32 view .LVU2524 9911 0066 22F40012 bic r2, r2, #2097152 @ _40, _39, 9912 006a 5A50 str r2, [r3, r1] @ _40,* _41 9913 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1089: if 1089:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9914 .loc 2 1089 36 view .LVU2525 9915 006c E4B2 uxtb r4, r4 @ _31, tmp177 9916 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1097: if 1097:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 9917 .loc 2 1097 8 view .LVU2526 9918 006e 012C cmp r4, #1 @ _31, 9919 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1099: U 1099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 9920 .loc 2 1099 24 view .LVU2527 9921 0070 9EBF ittt ls 9922 0072 5A58 ldrls r2, [r3, r1] @ _43,* _41 9923 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1099: U 1099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 9924 .loc 2 1099 34 view .LVU2528 9925 0074 42F08052 orrls r2, r2, #268435456 @ _44, _43, 9926 0078 5A50 strls r2, [r3, r1] @ _44,* _41 9927 .LVL526: 1099:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 9928 .loc 2 1099 34 is_stmt 0 view .LVU2529 9929 .LBE774: 9930 .LBE773: 9931 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1952: __HA 1951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep); 1952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 9932 .loc 14 1952 3 is_stmt 1 view .LVU2530 9933 007a 0023 movs r3, #0 @ tmp185, 9934 007c 80F8BC33 strb r3, [r0, #956] @ tmp185, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9935 .LVL527: 9936 .L731: 9937 .loc 14 1952 3 is_stmt 0 view .LVU2531 9938 .LBE775: 9939 .LBE776: 9940 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:550: } 550:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9941 .loc 13 550 1 is_stmt 1 view .LVU2532 9942 0080 10BD pop {r4, pc} @ 9943 .cfi_endproc 9944 .LFE156: 9945 .size USBD_LL_ClearStallEP.isra.0, .-USBD_LL_ClearStallEP.isra.0 9946 .section .text.USBD_LL_FlushEP.isra.0,"ax",%progbits 9947 .align 1 9948 .global USBD_LL_FlushEP.isra.0 9949 .hidden USBD_LL_FlushEP.isra.0 9950 .syntax unified 9951 .thumb 9952 .thumb_func 9953 .type USBD_LL_FlushEP.isra.0, %function 9954 USBD_LL_FlushEP.isra.0: 9955 .LVL528: 9956 .LFB161: 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9957 .loc 13 504 20 view -0 ARM GAS /tmp/ccJhhmLc.s page 584 9958 .cfi_startproc 9959 @ args = 0, pretend = 0, frame = 0 9960 @ frame_needed = 0, uses_anonymous_args = 0 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 9961 .loc 13 504 20 is_stmt 0 view .LVU2534 9962 0000 10B5 push {r4, lr} @ 9963 .LCFI68: 9964 .cfi_def_cfa_offset 8 9965 .cfi_offset 4, -8 9966 .cfi_offset 14, -4 9967 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:509: hal_status = HAL_PCD_EP_ 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 9968 .loc 13 509 37 is_stmt 1 view .LVU2535 9969 0002 D0F8C842 ldr r4, [r0, #712] @ _2, pdev_1(D)->pData 9970 .LVL529: 9971 .LBB779: 9972 .LBB780: 9973 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1965: __HA 1953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 1955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** /** 1958:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @brief Flush an endpoint 1959:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param hpcd PCD handle 1960:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @param ep_addr endpoint address 1961:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** * @retval HAL status 1962:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** */ 1963:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) 1964:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1965:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_LOCK(hpcd); 9974 .loc 14 1965 3 view .LVU2536 9975 0006 94F8BC33 ldrb r3, [r4, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 9976 000a 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 9977 000c 0CD0 beq .L747 @, 9978 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1965: __HA 9979 .loc 14 1965 3 is_stmt 0 discriminator 2 view .LVU2537 9980 000e 0123 movs r3, #1 @ tmp123, 9981 0010 84F8BC33 strb r3, [r4, #956] @ tmp123, MEM[(struct PCD_HandleTypeDef *)_2].Lock 9982 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1967: if ( 1966:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U) 9983 .loc 14 1967 6 is_stmt 1 view .LVU2538 9984 0014 0B06 lsls r3, r1, #24 @, ep_addr, 9985 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1969: (v 1968:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1969:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushTxFifo(hpcd->Instance, (uint32_t)ep_addr & EP_ADDR_MSK); 9986 .loc 14 1969 31 view .LVU2539 9987 0016 2068 ldr r0, [r4] @ pretmp_14, MEM[(struct PCD_HandleTypeDef *)_2].Instance 9988 .LVL530: 9989 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1967: if ( 1967:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 9990 .loc 14 1967 6 view .LVU2540 9991 0018 07D5 bpl .L749 @, 9992 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1969: (v 9993 .loc 14 1969 11 view .LVU2541 9994 001a 01F00F01 and r1, r1, #15 @, ep_addr, ARM GAS /tmp/ccJhhmLc.s page 585 9995 .LVL531: 9996 .loc 14 1969 11 is_stmt 0 view .LVU2542 9997 001e FFF7FEFF bl USB_FlushTxFifo @ 9998 .LVL532: 9999 .L750: 10000 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1976: __HA 1970:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1971:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** else 1972:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 1973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_FlushRxFifo(hpcd->Instance); 1974:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 1975:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 1976:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** __HAL_UNLOCK(hpcd); 10001 .loc 14 1976 3 is_stmt 1 view .LVU2543 10002 0022 0023 movs r3, #0 @ tmp130, 10003 0024 84F8BC33 strb r3, [r4, #956] @ tmp130, MEM[(struct PCD_HandleTypeDef *)_2].Lock 10004 .LVL533: 10005 .L747: 10006 .loc 14 1976 3 is_stmt 0 view .LVU2544 10007 .LBE780: 10008 .LBE779: 10009 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:514: } 514:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10010 .loc 13 514 1 is_stmt 1 view .LVU2545 10011 0028 10BD pop {r4, pc} @ 10012 .LVL534: 10013 .L749: 10014 .LBB782: 10015 .LBB781: 10016 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1973: (v 1973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10017 .loc 14 1973 11 view .LVU2546 10018 002a FFF7FEFF bl USB_FlushRxFifo @ 10019 .LVL535: 1973:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10020 .loc 14 1973 11 is_stmt 0 view .LVU2547 10021 002e F8E7 b .L750 @ 10022 .LBE781: 10023 .LBE782: 10024 .cfi_endproc 10025 .LFE161: 10026 .size USBD_LL_FlushEP.isra.0, .-USBD_LL_FlushEP.isra.0 10027 .section .text.USBD_LL_CloseEP.isra.0,"ax",%progbits 10028 .align 1 10029 .global USBD_LL_CloseEP.isra.0 10030 .hidden USBD_LL_CloseEP.isra.0 10031 .syntax unified 10032 .thumb 10033 .thumb_func 10034 .type USBD_LL_CloseEP.isra.0, %function 10035 USBD_LL_CloseEP.isra.0: 10036 .LVL536: 10037 .LFB164: 486:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 10038 .loc 13 486 20 is_stmt 1 view -0 10039 .cfi_startproc 10040 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccJhhmLc.s page 586 10041 @ frame_needed = 0, uses_anonymous_args = 0 10042 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:491: hal_status = HAL_PCD_EP_ 491:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10043 .loc 13 491 37 view .LVU2549 10044 0000 D0F8C802 ldr r0, [r0, #712] @ _2, pdev_1(D)->pData 10045 .LVL537: 491:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10046 .loc 13 491 37 is_stmt 0 view .LVU2550 10047 0004 01F00F03 and r3, r1, #15 @ _92, ep_addr, 10048 0008 1C22 movs r2, #28 @ tmp175, 10049 .LBB787: 10050 .LBB788: 10051 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1773: if ( 1773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 10052 .loc 14 1773 6 is_stmt 1 view .LVU2551 10053 000a 11F0800F tst r1, #128 @ ep_addr, 10054 000e 03FB02F2 mul r2, r3, r2 @ _94, _92, tmp175 10055 .LBE788: 10056 .LBE787: 10057 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:486: USBD_StatusTypeDef USBD_LL 486:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 10058 .loc 13 486 20 view .LVU2552 10059 0012 70B5 push {r4, r5, r6, lr} @ 10060 .LCFI69: 10061 .cfi_def_cfa_offset 16 10062 .cfi_offset 4, -16 10063 .cfi_offset 5, -12 10064 .cfi_offset 6, -8 10065 .cfi_offset 14, -4 10066 0014 00EB0201 add r1, r0, r2 @ tmp213, _2, _94 10067 .LVL538: 10068 .LBB795: 10069 .LBB793: 10070 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1775: ep 1775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 10071 .loc 14 1775 8 view .LVU2553 10072 0018 15BF itete ne 10073 001a 3C32 addne r2, r2, #60 @ _49, _94, 10074 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1780: ep 1780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 10075 .loc 14 1780 8 view .LVU2554 10076 001c 02F5FE72 addeq r2, r2, #508 @ _4, _94, 10077 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1775: ep 1775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 10078 .loc 14 1775 8 view .LVU2555 10079 0020 1218 addne r2, r2, r0 @ ep, _2 10080 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1780: ep 1780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 10081 .loc 14 1780 8 view .LVU2556 10082 0022 1218 addeq r2, r2, r0 @ ep, _2 10083 .LVL539: 10084 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1776: ep 1776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10085 .loc 14 1776 15 view .LVU2557 10086 0024 15BF itete ne 10087 0026 0124 movne r4, #1 @ tmp184, 10088 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1781: ep ARM GAS /tmp/ccJhhmLc.s page 587 1781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10089 .loc 14 1781 15 view .LVU2558 10090 0028 0024 moveq r4, #0 @ tmp191, 10091 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1776: ep 1776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10092 .loc 14 1776 15 view .LVU2559 10093 002a 81F83D40 strbne r4, [r1, #61] @ tmp184, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_ 10094 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1781: ep 1781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10095 .loc 14 1781 15 view .LVU2560 10096 002e 81F8FD41 strbeq r4, [r1, #509] @ tmp191, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep 10097 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1783: ep-> 1783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 10098 .loc 14 1783 13 view .LVU2561 10099 0032 1370 strb r3, [r2] @ _92, ep_16->num 10100 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1785: __HA 1785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 10101 .loc 14 1785 3 view .LVU2562 10102 0034 90F8BC33 ldrb r3, [r0, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 10103 0038 012B cmp r3, #1 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 10104 003a 2CD0 beq .L754 @, 10105 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1785: __HA 1785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 10106 .loc 14 1785 3 is_stmt 0 discriminator 2 view .LVU2563 10107 003c 0123 movs r3, #1 @ tmp195, 10108 003e 80F8BC33 strb r3, [r0, #956] @ tmp195, MEM[(struct PCD_HandleTypeDef *)_2].Lock 10109 0042 1478 ldrb r4, [r2] @ zero_extendqisi2 @ _20, MEM[(unsigned char *)ep_16] 10110 .LVL540: 10111 .LBB789: 10112 .LBB790: 10113 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:650: if (ep 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10114 .loc 2 650 6 is_stmt 1 view .LVU2564 10115 0044 5278 ldrb r2, [r2, #1] @ zero_extendqisi2 @ MEM[(unsigned char *)ep_16 + 1B], MEM[(unsigned char *)ep_1 10116 .LVL541: 10117 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:646: uint32 646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 10118 .loc 2 646 12 view .LVU2565 10119 0046 0368 ldr r3, [r0] @ USBx_BASE, MEM[(struct PCD_HandleTypeDef *)_2].Instance 10120 .LVL542: 10121 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:650: if (ep 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10122 .loc 2 650 6 view .LVU2566 10123 0048 012A cmp r2, #1 @ MEM[(unsigned char *)ep_16 + 1B], 10124 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:652: if ( 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10125 .loc 2 652 10 view .LVU2567 10126 004a 4FEA4411 lsl r1, r4, #5 @ _7, _20, 10127 004e 03F50062 add r2, r3, #2048 @ _59, USBx_BASE, 10128 0052 04F00F04 and r4, r4, #15 @ tmp215, _20, 10129 .LVL543: 10130 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:650: if (ep 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10131 .loc 2 650 6 view .LVU2568 10132 0056 1FD1 bne .L758 @, 10133 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:652: if ( 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/ccJhhmLc.s page 588 10134 .loc 2 652 10 view .LVU2569 10135 0058 03F51063 add r3, r3, #2304 @ _5, USBx_BASE, 10136 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:652: if ( 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10137 .loc 2 652 26 view .LVU2570 10138 005c 5D58 ldr r5, [r3, r1] @ _30, _29->DIEPCTL 10139 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:652: if ( 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10140 .loc 2 652 8 view .LVU2571 10141 005e 002D cmp r5, #0 @ _30, 10142 0060 07DA bge .L759 @, 10143 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:654: US 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 10144 .loc 2 654 23 view .LVU2572 10145 0062 5D58 ldr r5, [r3, r1] @ _32, _29->DIEPCTL 10146 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:654: US 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 10147 .loc 2 654 33 view .LVU2573 10148 0064 45F00065 orr r5, r5, #134217728 @ _33, _32, 10149 0068 5D50 str r5, [r3, r1] @ _33, _29->DIEPCTL 10150 .LVL544: 10151 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:655: US 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 10152 .loc 2 655 23 view .LVU2574 10153 006a 5D58 ldr r5, [r3, r1] @ _34, _29->DIEPCTL 10154 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:655: US 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 10155 .loc 2 655 33 view .LVU2575 10156 006c 45F08045 orr r5, r5, #1073741824 @ _35, _34, 10157 0070 5D50 str r5, [r3, r1] @ _35, _29->DIEPCTL 10158 .L759: 10159 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:658: USBx 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 10160 .loc 2 658 16 view .LVU2576 10161 0072 D66B ldr r6, [r2, #60] @ _38, _37->DEACHMSK 10162 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:658: USBx 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 10163 .loc 2 658 56 view .LVU2577 10164 0074 0125 movs r5, #1 @ tmp202, 10165 0076 05FA04F4 lsl r4, r5, r4 @ _41, tmp202, tmp215 10166 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:658: USBx 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 10167 .loc 2 658 27 view .LVU2578 10168 007a 26EA0406 bic r6, r6, r4 @ _43, _38, _41 10169 007e D663 str r6, [r2, #60] @ _43, _37->DEACHMSK 10170 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:659: USBx 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 10171 .loc 2 659 16 view .LVU2579 10172 0080 D569 ldr r5, [r2, #28] @ _44, _37->DAINTMSK 10173 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:659: USBx 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 10174 .loc 2 659 27 view .LVU2580 10175 0082 25EA0404 bic r4, r5, r4 @ _45, _44, _41 10176 0086 D461 str r4, [r2, #28] @ _45, _37->DAINTMSK 10177 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:660: USBx 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_MPSIZ | 10178 .loc 2 660 21 view .LVU2581 ARM GAS /tmp/ccJhhmLc.s page 589 10179 0088 5C58 ldr r4, [r3, r1] @ _46, _29->DIEPCTL 10180 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:660: USBx 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DIEPCTL_MPSIZ | 10181 .loc 2 660 31 view .LVU2582 10182 008a 114A ldr r2, .L766 @ _47, 10183 .L765: 10184 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:676: USBx 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 10185 .loc 2 676 32 view .LVU2583 10186 008c 2240 ands r2, r2, r4 @, _70, _70, _69 10187 008e 5A50 str r2, [r3, r1] @ _70,* _7 10188 .LVL545: 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 10189 .loc 2 676 32 is_stmt 0 view .LVU2584 10190 .LBE790: 10191 .LBE789: 10192 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1787: __HA 1787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 10193 .loc 14 1787 3 is_stmt 1 view .LVU2585 10194 0090 0023 movs r3, #0 @ tmp211, 10195 0092 80F8BC33 strb r3, [r0, #956] @ tmp211, MEM[(struct PCD_HandleTypeDef *)_2].Lock 10196 .LVL546: 10197 .L754: 1787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** return HAL_OK; 10198 .loc 14 1787 3 is_stmt 0 view .LVU2586 10199 .LBE793: 10200 .LBE795: 10201 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:496: } 496:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10202 .loc 13 496 1 is_stmt 1 view .LVU2587 10203 0096 70BD pop {r4, r5, r6, pc} @ 10204 .LVL547: 10205 .L758: 10206 .LBB796: 10207 .LBB794: 10208 .LBB792: 10209 .LBB791: 10210 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:668: if ( 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10211 .loc 2 668 10 view .LVU2588 10212 0098 03F53063 add r3, r3, #2816 @ _19, USBx_BASE, 10213 .LVL548: 10214 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:668: if ( 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10215 .loc 2 668 27 view .LVU2589 10216 009c 5D58 ldr r5, [r3, r1] @ _52, _51->DOEPCTL 10217 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:668: if ( 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10218 .loc 2 668 8 view .LVU2590 10219 009e 002D cmp r5, #0 @ _52, 10220 00a0 07DA bge .L761 @, 10221 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:670: US 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 10222 .loc 2 670 24 view .LVU2591 10223 00a2 5D58 ldr r5, [r3, r1] @ _54, _51->DOEPCTL 10224 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:670: US 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; ARM GAS /tmp/ccJhhmLc.s page 590 10225 .loc 2 670 34 view .LVU2592 10226 00a4 45F00065 orr r5, r5, #134217728 @ _55, _54, 10227 00a8 5D50 str r5, [r3, r1] @ _55, _51->DOEPCTL 10228 .LVL549: 10229 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:671: US 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 10230 .loc 2 671 24 view .LVU2593 10231 00aa 5D58 ldr r5, [r3, r1] @ _56, _51->DOEPCTL 10232 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:671: US 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 10233 .loc 2 671 34 view .LVU2594 10234 00ac 45F08045 orr r5, r5, #1073741824 @ _57, _56, 10235 00b0 5D50 str r5, [r3, r1] @ _57, _51->DOEPCTL 10236 .L761: 10237 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:674: USBx 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 10238 .loc 2 674 16 view .LVU2595 10239 00b2 D66B ldr r6, [r2, #60] @ _60, _59->DEACHMSK 10240 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:674: USBx 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 10241 .loc 2 674 57 view .LVU2596 10242 00b4 4FF48035 mov r5, #65536 @ _63, 10243 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:674: USBx 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 10244 .loc 2 674 54 view .LVU2597 10245 00b8 05FA04F4 lsl r4, r5, r4 @ _64, _63, tmp215 10246 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:674: USBx 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) 10247 .loc 2 674 27 view .LVU2598 10248 00bc 26EA0406 bic r6, r6, r4 @ _66, _60, _64 10249 00c0 D663 str r6, [r2, #60] @ _66, _59->DEACHMSK 10250 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:675: USBx 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 10251 .loc 2 675 16 view .LVU2599 10252 00c2 D569 ldr r5, [r2, #28] @ _67, _59->DAINTMSK 10253 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:675: USBx 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 10254 .loc 2 675 27 view .LVU2600 10255 00c4 25EA0404 bic r4, r5, r4 @ _68, _67, _64 10256 00c8 D461 str r4, [r2, #28] @ _68, _59->DAINTMSK 10257 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:676: USBx 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 10258 .loc 2 676 22 view .LVU2601 10259 00ca 5C58 ldr r4, [r3, r1] @ _69, _51->DOEPCTL 10260 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:676: USBx 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USB_OTG_DOEPCTL_MPSIZ | 10261 .loc 2 676 32 view .LVU2602 10262 00cc 014A ldr r2, .L766+4 @ _70, 10263 00ce DDE7 b .L765 @ 10264 .L767: 10265 .align 2 10266 .L766: 10267 00d0 007833EC .word -332171264 10268 00d4 0078F3EF .word -269256704 10269 .LBE791: 10270 .LBE792: 10271 .LBE794: ARM GAS /tmp/ccJhhmLc.s page 591 10272 .LBE796: 10273 .cfi_endproc 10274 .LFE164: 10275 .size USBD_LL_CloseEP.isra.0, .-USBD_LL_CloseEP.isra.0 10276 .section .text.USBD_LL_OpenEP.isra.0,"ax",%progbits 10277 .align 1 10278 .global USBD_LL_OpenEP.isra.0 10279 .hidden USBD_LL_OpenEP.isra.0 10280 .syntax unified 10281 .thumb 10282 .thumb_func 10283 .type USBD_LL_OpenEP.isra.0, %function 10284 USBD_LL_OpenEP.isra.0: 10285 .LVL550: 10286 .LFB169: 468:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 10287 .loc 13 468 20 view -0 10288 .cfi_startproc 10289 @ args = 0, pretend = 0, frame = 0 10290 @ frame_needed = 0, uses_anonymous_args = 0 468:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 10291 .loc 13 468 20 is_stmt 0 view .LVU2604 10292 0000 F0B5 push {r4, r5, r6, r7, lr} @ 10293 .LCFI70: 10294 .cfi_def_cfa_offset 20 10295 .cfi_offset 4, -20 10296 .cfi_offset 5, -16 10297 .cfi_offset 6, -12 10298 .cfi_offset 7, -8 10299 .cfi_offset 14, -4 10300 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:473: hal_status = HAL_PCD_EP_ 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10301 .loc 13 473 36 is_stmt 1 view .LVU2605 10302 0002 D0F8C842 ldr r4, [r0, #712] @ _2, pdev_1(D)->pData 10303 .LVL551: 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10304 .loc 13 473 36 is_stmt 0 view .LVU2606 10305 0006 01F00F05 and r5, r1, #15 @ _32, ep_addr, 10306 000a 1C20 movs r0, #28 @ tmp166, 10307 .LVL552: 10308 .LBB801: 10309 .LBB802: 10310 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1730: if ( 1730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 10311 .loc 14 1730 6 is_stmt 1 view .LVU2607 10312 000c 11F0800F tst r1, #128 @ ep_addr, 10313 0010 05FB00F0 mul r0, r5, r0 @ _43, _32, tmp166 10314 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1732: ep 1732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 10315 .loc 14 1732 8 view .LVU2608 10316 0014 14BF ite ne 10317 0016 00F13C01 addne r1, r0, #60 @ _50, _43, 10318 .LVL553: 10319 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1737: ep 1737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 10320 .loc 14 1737 8 view .LVU2609 10321 001a 00F5FE71 addeq r1, r0, #508 @ _9, _43, ARM GAS /tmp/ccJhhmLc.s page 592 10322 001e 04EB0006 add r6, r4, r0 @ tmp210, _2, _43 10323 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1732: ep 1732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 10324 .loc 14 1732 8 view .LVU2610 10325 0022 15BF itete ne 10326 0024 0919 addne r1, r1, r4 @ ep, _2 10327 .LVL554: 10328 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1737: ep 1737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 10329 .loc 14 1737 8 view .LVU2611 10330 0026 0919 addeq r1, r1, r4 @ ep, _2 10331 .LVL555: 10332 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1733: ep 1733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10333 .loc 14 1733 15 view .LVU2612 10334 0028 0120 movne r0, #1 @ tmp175, 10335 .LVL556: 10336 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1738: ep 1738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10337 .loc 14 1738 15 view .LVU2613 10338 002a 0020 moveq r0, #0 @ tmp182, 10339 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1733: ep 1733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10340 .loc 14 1733 15 view .LVU2614 10341 002c 14BF ite ne 10342 002e 86F83D00 strbne r0, [r6, #61] @ tmp175, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_ 10343 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1738: ep 1738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10344 .loc 14 1738 15 view .LVU2615 10345 0032 86F8FD01 strbeq r0, [r6, #509] @ tmp182, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep 10346 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1745: if ( 1745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 10347 .loc 14 1745 9 view .LVU2616 10348 0036 91F801C0 ldrb ip, [r1, #1] @ zero_extendqisi2 @ _20, ep_18->is_in 10349 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1741: ep-> 1741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->maxpacket = ep_mps; 10350 .loc 14 1741 11 view .LVU2617 10351 003a 0D70 strb r5, [r1] @ _32, ep_18->num 10352 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1742: ep-> 1742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->type = ep_type; 10353 .loc 14 1742 17 view .LVU2618 10354 003c 8B60 str r3, [r1, #8] @ ep_mps, ep_18->maxpacket 10355 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1743: ep-> 1743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 10356 .loc 14 1743 12 view .LVU2619 10357 003e CA70 strb r2, [r1, #3] @ ep_type, ep_18->type 10358 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1745: if ( 1745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 10359 .loc 14 1745 6 view .LVU2620 10360 0040 BCF1000F cmp ip, #0 @ _20 10361 0044 00D0 beq .L771 @ 10362 .LVL557: 10363 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1748: ep 1748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10364 .loc 14 1748 25 view .LVU2621 10365 0046 CD80 strh r5, [r1, #6] @ movhi @ _32, ep_18->tx_fifo_num 10366 .L771: ARM GAS /tmp/ccJhhmLc.s page 593 10367 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1751: if ( 1751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 10368 .loc 14 1751 6 view .LVU2622 10369 0048 022A cmp r2, #2 @ ep_type, 10370 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1753: ep 1753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 10371 .loc 14 1753 24 view .LVU2623 10372 004a 04BF itt eq 10373 004c 0020 moveq r0, #0 @ tmp187, 10374 004e 0871 strbeq r0, [r1, #4] @ tmp187, ep_18->data_pid_start 10375 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1756: __HA 1756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 10376 .loc 14 1756 3 view .LVU2624 10377 0050 94F8BC13 ldrb r1, [r4, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 10378 0054 0129 cmp r1, #1 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 10379 0056 24D0 beq .L768 @, 10380 .LBB803: 10381 .LBB804: 10382 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:569: uint32 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t epnum = (uint32_t)ep->num; 10383 .loc 2 569 12 view .LVU2625 10384 0058 2068 ldr r0, [r4] @ USBx_BASE, MEM[(struct PCD_HandleTypeDef *)_2].Instance 10385 .LBE804: 10386 .LBE803: 10387 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1756: __HA 1756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 10388 .loc 14 1756 3 discriminator 2 view .LVU2626 10389 005a 0126 movs r6, #1 @ tmp190, 10390 .LBB808: 10391 .LBB805: 10392 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:572: if (ep 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10393 .loc 2 572 6 view .LVU2627 10394 005c BCF1010F cmp ip, #1 @ _20, 10395 .LBE805: 10396 .LBE808: 10397 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1756: __HA 1756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep); 10398 .loc 14 1756 3 discriminator 2 view .LVU2628 10399 0060 84F8BC63 strb r6, [r4, #956] @ tmp190, MEM[(struct PCD_HandleTypeDef *)_2].Lock 10400 .LVL558: 10401 .LBB809: 10402 .LBB806: 10403 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:574: USBx 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 10404 .loc 2 574 16 view .LVU2629 10405 0064 00F50067 add r7, r0, #2048 @ _68, USBx_BASE, 10406 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:574: USBx 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 10407 .loc 2 574 54 view .LVU2630 10408 0068 06FA05F6 lsl r6, r6, r5 @ _69, tmp190, _32 10409 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:576: if ( 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10410 .loc 2 576 10 view .LVU2631 10411 006c 4FEA4511 lsl r1, r5, #5 @ _70, _32, 10412 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:572: if (ep 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { ARM GAS /tmp/ccJhhmLc.s page 594 10413 .loc 2 572 6 view .LVU2632 10414 0070 18D1 bne .L774 @, 10415 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:574: USBx 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 10416 .loc 2 574 16 view .LVU2633 10417 0072 D7F81CC0 ldr ip, [r7, #28] @ _31, _68->DAINTMSK 10418 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:576: if ( 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10419 .loc 2 576 10 view .LVU2634 10420 0076 01F51061 add r1, r1, #2304 @ _94, _70, 10421 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:574: USBx 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 10422 .loc 2 574 27 view .LVU2635 10423 007a 4CEA0606 orr r6, ip, r6 @ _35, _31, _69 10424 007e FE61 str r6, [r7, #28] @ _35, _68->DAINTMSK 10425 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:576: if ( 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10426 .loc 2 576 26 view .LVU2636 10427 0080 0E58 ldr r6, [r1, r0] @ _40, _39->DIEPCTL 10428 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:576: if ( 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10429 .loc 2 576 8 view .LVU2637 10430 0082 3604 lsls r6, r6, #16 @, _40, 10431 0084 0AD4 bmi .L776 @, 10432 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:578: US 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 10433 .loc 2 578 23 view .LVU2638 10434 0086 0E58 ldr r6, [r1, r0] @ _42, _39->DIEPCTL 10435 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:578: US 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 10436 .loc 2 578 76 view .LVU2639 10437 0088 43EA8243 orr r3, r3, r2, lsl #18 @ _48, ep_mps, ep_type, 10438 .LVL559: 10439 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:578: US 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | (epnum << 22) | 10440 .loc 2 578 33 view .LVU2640 10441 008c 3343 orrs r3, r3, r6 @, _7, _48, _42 10442 008e 43EA8553 orr r3, r3, r5, lsl #22 @ _51, _7, _32, 10443 .LVL560: 10444 .L784: 10445 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:590: US 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 10446 .loc 2 590 34 view .LVU2641 10447 0092 43F08053 orr r3, r3, #268435456 @ _75, _74, 10448 0096 43F40043 orr r3, r3, #32768 @ _75, _75, 10449 009a 0B50 str r3, [r1, r0] @ _75,* USBx_BASE 10450 .L776: 10451 .LVL561: 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 10452 .loc 2 590 34 is_stmt 0 view .LVU2642 10453 .LBE806: 10454 .LBE809: 10455 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1758: __HA 1758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 10456 .loc 14 1758 3 is_stmt 1 view .LVU2643 10457 009c 0023 movs r3, #0 @ tmp208, 10458 009e 84F8BC33 strb r3, [r4, #956] @ tmp208, MEM[(struct PCD_HandleTypeDef *)_2].Lock ARM GAS /tmp/ccJhhmLc.s page 595 10459 .LVL562: 10460 .L768: 1758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 10461 .loc 14 1758 3 is_stmt 0 view .LVU2644 10462 .LBE802: 10463 .LBE801: 10464 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:478: } 478:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10465 .loc 13 478 1 is_stmt 1 view .LVU2645 10466 00a2 F0BD pop {r4, r5, r6, r7, pc} @ 10467 .LVL563: 10468 .L774: 10469 .LBB812: 10470 .LBB811: 10471 .LBB810: 10472 .LBB807: 10473 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:586: USBx 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 10474 .loc 2 586 16 view .LVU2646 10475 00a4 FD69 ldr r5, [r7, #28] @ _55, _68->DAINTMSK 10476 .LVL564: 10477 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:588: if ( 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10478 .loc 2 588 11 view .LVU2647 10479 00a6 01F53061 add r1, r1, #2816 @ _24, _70, 10480 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:586: USBx 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 10481 .loc 2 586 27 view .LVU2648 10482 00aa 45EA0645 orr r5, r5, r6, lsl #16 @ _60, _55, _69, 10483 00ae FD61 str r5, [r7, #28] @ _60, _68->DAINTMSK 10484 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:588: if ( 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10485 .loc 2 588 28 view .LVU2649 10486 00b0 0D58 ldr r5, [r1, r0] @ _65, _64->DOEPCTL 10487 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:588: if ( 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 10488 .loc 2 588 8 view .LVU2650 10489 00b2 2D04 lsls r5, r5, #16 @, _65, 10490 00b4 F2D4 bmi .L776 @, 10491 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:590: US 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 10492 .loc 2 590 24 view .LVU2651 10493 00b6 0D58 ldr r5, [r1, r0] @ _67, _64->DOEPCTL 10494 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:590: US 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 10495 .loc 2 590 77 view .LVU2652 10496 00b8 43EA8243 orr r3, r3, r2, lsl #18 @ _73, ep_mps, ep_type, 10497 .LVL565: 10498 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:590: US 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** ((uint32_t)ep->type << 18) | 10499 .loc 2 590 34 view .LVU2653 10500 00bc 2B43 orrs r3, r3, r5 @, _74, _73, _67 10501 00be E8E7 b .L784 @ 10502 .LBE807: 10503 .LBE810: 10504 .LBE811: 10505 .LBE812: ARM GAS /tmp/ccJhhmLc.s page 596 10506 .cfi_endproc 10507 .LFE169: 10508 .size USBD_LL_OpenEP.isra.0, .-USBD_LL_OpenEP.isra.0 10509 .section .text.SCSI_SenseCode.isra.0,"ax",%progbits 10510 .align 1 10511 .global SCSI_SenseCode.isra.0 10512 .hidden SCSI_SenseCode.isra.0 10513 .syntax unified 10514 .thumb 10515 .thumb_func 10516 .type SCSI_SenseCode.isra.0, %function 10517 SCSI_SenseCode.isra.0: 10518 .LVL566: 10519 .LFB174: 10520 .file 20 "/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_ 1:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @file usbd_msc_scsi.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief This file provides all the USBD SCSI layer functions. 6:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ****************************************************************************** 7:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @attention 8:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * 9:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Copyright (c) 2015 STMicroelectronics. 10:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * All rights reserved. 11:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * 12:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * This software is licensed under terms that can be found in the LICENSE file 13:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * in the root directory of this software component. 14:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 15:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * 16:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ****************************************************************************** 17:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 18:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 19:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* BSPDependencies 20:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** - "stm32xxxxx_{eval}{discovery}{nucleo_144}.c" 21:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** - "stm32xxxxx_{eval}{discovery}_io.c" 22:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** - "stm32xxxxx_{eval}{discovery}{adafruit}_sd.c" 23:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** EndBSPDependencies */ 24:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 25:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Includes ------------------------------------------------------------------*/ 26:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #include "usbd_msc_bot.h" 27:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #include "usbd_msc_scsi.h" 28:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #include "usbd_msc.h" 29:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #include "usbd_msc_data.h" 30:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 31:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 32:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY 33:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @{ 34:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 35:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 36:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 37:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** @defgroup MSC_SCSI 38:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief Mass storage SCSI layer module 39:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @{ 40:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 41:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 42:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** @defgroup MSC_SCSI_Private_TypesDefinitions ARM GAS /tmp/ccJhhmLc.s page 597 43:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @{ 44:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 45:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 46:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @} 47:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 48:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 49:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 50:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** @defgroup MSC_SCSI_Private_Defines 51:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @{ 52:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 53:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 54:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 55:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @} 56:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 57:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 58:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 59:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** @defgroup MSC_SCSI_Private_Macros 60:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @{ 61:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 62:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 63:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @} 64:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 65:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 66:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 67:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** @defgroup MSC_SCSI_Private_Variables 68:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @{ 69:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 70:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** extern uint8_t MSCInEpAdd; 71:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** extern uint8_t MSCOutEpAdd; 72:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 73:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @} 74:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 75:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 76:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 77:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** @defgroup MSC_SCSI_Private_FunctionPrototypes 78:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @{ 79:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 80:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_TestUnitReady(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 81:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Inquiry(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 82:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReadFormatCapacity(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 83:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReadCapacity10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 84:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReadCapacity16(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 85:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_RequestSense(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 86:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_StartStopUnit(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 87:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_AllowPreventRemovable(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 88:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ModeSense6(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 89:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ModeSense10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 90:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Write10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 91:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Write12(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 92:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Read10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 93:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Read12(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 94:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Verify10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 95:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReportLuns(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params); 96:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReceiveDiagnosticResults(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 97:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_CheckAddressRange(USBD_HandleTypeDef *pdev, uint8_t lun, 98:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t blk_offset, uint32_t blk_nbr); 99:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ARM GAS /tmp/ccJhhmLc.s page 598 100:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ProcessRead(USBD_HandleTypeDef *pdev, uint8_t lun); 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ProcessWrite(USBD_HandleTypeDef *pdev, uint8_t lun); 102:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 103:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_UpdateBotData(USBD_MSC_BOT_HandleTypeDef *hmsc, 104:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint8_t *pBuff, uint16_t length); 105:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 106:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @} 107:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 108:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 109:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 110:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** @defgroup MSC_SCSI_Private_Functions 111:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @{ 112:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 113:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 114:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 115:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 116:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ProcessCmd 117:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process SCSI commands 118:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param pdev: device instance 119:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 120:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 121:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 122:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 123:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** int8_t SCSI_ProcessCmd(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *cmd) 124:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 125:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** int8_t ret; 126:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 127:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 128:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 129:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 130:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 131:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 132:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 133:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** switch (cmd[0]) 134:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 135:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_TEST_UNIT_READY: 136:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_TestUnitReady(pdev, lun, cmd); 137:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 138:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 139:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_REQUEST_SENSE: 140:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_RequestSense(pdev, lun, cmd); 141:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 142:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 143:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_INQUIRY: 144:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_Inquiry(pdev, lun, cmd); 145:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 146:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 147:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_START_STOP_UNIT: 148:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_StartStopUnit(pdev, lun, cmd); 149:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 150:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 151:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_ALLOW_MEDIUM_REMOVAL: 152:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_AllowPreventRemovable(pdev, lun, cmd); 153:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 154:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 155:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_MODE_SENSE6: 156:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_ModeSense6(pdev, lun, cmd); ARM GAS /tmp/ccJhhmLc.s page 599 157:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 158:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 159:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_MODE_SENSE10: 160:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_ModeSense10(pdev, lun, cmd); 161:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 163:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_READ_FORMAT_CAPACITIES: 164:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_ReadFormatCapacity(pdev, lun, cmd); 165:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 166:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 167:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_READ_CAPACITY10: 168:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_ReadCapacity10(pdev, lun, cmd); 169:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 170:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 171:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_READ_CAPACITY16: 172:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_ReadCapacity16(pdev, lun, cmd); 173:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 174:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 175:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_READ10: 176:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_Read10(pdev, lun, cmd); 177:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 178:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 179:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_READ12: 180:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_Read12(pdev, lun, cmd); 181:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 182:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 183:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_WRITE10: 184:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_Write10(pdev, lun, cmd); 185:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 186:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 187:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_WRITE12: 188:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_Write12(pdev, lun, cmd); 189:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 190:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 191:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_VERIFY10: 192:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_Verify10(pdev, lun, cmd); 193:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 194:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 195:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_REPORT_LUNS: 196:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_ReportLuns(pdev, lun, cmd); 197:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 198:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 199:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** case SCSI_RECEIVE_DIAGNOSTIC_RESULTS: 200:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = SCSI_ReceiveDiagnosticResults(pdev, lun, cmd); 201:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 202:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 203:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** default: 204:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_CDB); 205:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = -1; 206:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** break; 207:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 208:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 209:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return ret; 210:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 211:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 212:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 213:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** ARM GAS /tmp/ccJhhmLc.s page 600 214:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_TestUnitReady 215:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process SCSI Test Unit Ready Command 216:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 217:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 218:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 219:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 220:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_TestUnitReady(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 221:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 222:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(params); 223:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 224:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 225:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 226:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 227:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 228:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 229:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 230:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* case 9 : Hi > D0 */ 231:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength != 0U) 232:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 233:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 234:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 235:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 236:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 237:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 238:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 239:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 240:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 241:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_NO_DATA; 242:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 243:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 244:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 245:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsReady(lun) != 0) 246:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 247:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 248:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_NO_DATA; 249:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 250:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 251:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 252:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = 0U; 253:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 254:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 255:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 256:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 257:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 258:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 259:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_Inquiry 260:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Inquiry command 261:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 262:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 263:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 264:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 265:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Inquiry(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 266:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 267:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint8_t *pPage; 268:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint16_t len; 269:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 270:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ARM GAS /tmp/ccJhhmLc.s page 601 271:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 272:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 273:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 274:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 275:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 276:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength == 0U) 277:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 278:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 279:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 280:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 281:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 282:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((params[1] & 0x01U) != 0U) /* Evpd is set */ 283:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 284:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (params[2] == 0U) /* Request for Supported Vital Product Data Pages*/ 285:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 286:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)SCSI_UpdateBotData(hmsc, MSC_Page00_Inquiry_Data, LENGTH_INQUIRY_PAGE00); 287:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 288:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else if (params[2] == 0x80U) /* Request for VPD page 0x80 Unit Serial Number */ 289:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 290:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)SCSI_UpdateBotData(hmsc, MSC_Page80_Inquiry_Data, LENGTH_INQUIRY_PAGE80); 291:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 292:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else /* Request Not supported */ 293:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 294:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, 295:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** INVALID_FIELD_IN_COMMAND); 296:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 297:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 298:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 299:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 300:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else 301:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 302:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 303:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** pPage = (uint8_t *) & ((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId]) \ 304:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ->pInquiry[lun * STANDARD_INQUIRY_DATA_LEN]; 305:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = (uint16_t)pPage[4] + 5U; 306:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 307:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (params[4] <= len) 308:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 309:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = params[4]; 310:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 311:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 312:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)SCSI_UpdateBotData(hmsc, pPage, len); 313:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 314:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 315:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 316:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 317:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 318:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 319:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 320:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ReadCapacity10 321:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Read Capacity 10 command 322:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 323:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 324:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 325:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 326:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReadCapacity10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 327:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { ARM GAS /tmp/ccJhhmLc.s page 602 328:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(params); 329:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** int8_t ret; 330:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 331:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 332:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 333:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 334:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 335:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 336:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 337:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 338:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = ((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->GetCapacity(lun, &p_scsi_blk->nbr, 339:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** &p_scsi_blk->size); 340:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 341:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 342:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 343:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 344:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 345:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 346:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 347:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[0] = (uint8_t)((p_scsi_blk->nbr - 1U) >> 24); 348:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[1] = (uint8_t)((p_scsi_blk->nbr - 1U) >> 16); 349:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[2] = (uint8_t)((p_scsi_blk->nbr - 1U) >> 8); 350:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[3] = (uint8_t)(p_scsi_blk->nbr - 1U); 351:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 352:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[4] = (uint8_t)(p_scsi_blk->size >> 24); 353:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[5] = (uint8_t)(p_scsi_blk->size >> 16); 354:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[6] = (uint8_t)(p_scsi_blk->size >> 8); 355:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[7] = (uint8_t)(p_scsi_blk->size); 356:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 357:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = 8U; 358:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 359:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 360:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 361:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 362:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 363:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 364:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ReadCapacity16 365:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Read Capacity 16 command 366:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 367:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 368:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 369:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 370:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReadCapacity16(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 371:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 372:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(params); 373:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t idx; 374:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** int8_t ret; 375:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 376:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 377:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 378:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 379:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 380:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 381:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 382:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 383:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = ((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->GetCapacity(lun, &p_scsi_blk->nbr, 384:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** &p_scsi_blk->size); ARM GAS /tmp/ccJhhmLc.s page 603 385:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 386:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 387:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 388:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 389:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 390:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 391:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 392:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 393:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[11] << 16) | 394:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[12] << 8) | 395:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[13]; 396:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 397:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** for (idx = 0U; idx < hmsc->bot_data_length; idx++) 398:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 399:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[idx] = 0U; 400:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 401:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 402:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[4] = (uint8_t)((p_scsi_blk->nbr - 1U) >> 24); 403:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[5] = (uint8_t)((p_scsi_blk->nbr - 1U) >> 16); 404:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[6] = (uint8_t)((p_scsi_blk->nbr - 1U) >> 8); 405:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[7] = (uint8_t)(p_scsi_blk->nbr - 1U); 406:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 407:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[8] = (uint8_t)(p_scsi_blk->size >> 24); 408:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[9] = (uint8_t)(p_scsi_blk->size >> 16); 409:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[10] = (uint8_t)(p_scsi_blk->size >> 8); 410:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[11] = (uint8_t)(p_scsi_blk->size); 411:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 412:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 413:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[11] << 16) | 414:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[12] << 8) | 415:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[13]; 416:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 417:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 418:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 419:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 420:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 421:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 422:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ReadFormatCapacity 423:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Read Format Capacity command 424:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 425:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 426:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 427:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 428:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReadFormatCapacity(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 429:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 430:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(params); 431:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint16_t blk_size; 432:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t blk_nbr; 433:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint16_t i; 434:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** int8_t ret; 435:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 436:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 437:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 438:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 439:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 440:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 441:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ARM GAS /tmp/ccJhhmLc.s page 604 442:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ret = ((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->GetCapacity(lun, &blk_nbr, &blk_si 443:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 444:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 445:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 446:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 447:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 448:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 449:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 450:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** for (i = 0U; i < 12U ; i++) 451:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 452:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[i] = 0U; 453:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 454:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 455:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[3] = 0x08U; 456:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[4] = (uint8_t)((blk_nbr - 1U) >> 24); 457:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[5] = (uint8_t)((blk_nbr - 1U) >> 16); 458:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[6] = (uint8_t)((blk_nbr - 1U) >> 8); 459:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[7] = (uint8_t)(blk_nbr - 1U); 460:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 461:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[8] = 0x02U; 462:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[9] = (uint8_t)(blk_size >> 16); 463:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[10] = (uint8_t)(blk_size >> 8); 464:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[11] = (uint8_t)(blk_size); 465:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 466:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = 12U; 467:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 468:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 469:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 470:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 471:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 472:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 473:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ModeSense6 474:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Mode Sense6 command 475:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 476:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 477:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 478:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 479:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ModeSense6(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 480:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 481:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(lun); 482:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 483:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint16_t len = MODE_SENSE6_LEN; 484:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 485:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 486:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 487:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 488:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 489:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 490:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Check If media is write-protected */ 491:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsWriteProtected(lun) != 0) 492:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 493:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSC_Mode_Sense6_data[2] |= (0x1U << 7); /* Set the WP (write protection) bit */ 494:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 495:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else 496:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 497:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSC_Mode_Sense10_data[2] &= ~(0x1U << 7); /* Clear the WP (write protection) bit */ 498:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } ARM GAS /tmp/ccJhhmLc.s page 605 499:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 500:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (params[4] <= len) 501:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 502:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = params[4]; 503:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 504:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 505:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense6_data, len); 506:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 507:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 508:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 509:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 510:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 511:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 512:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ModeSense10 513:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Mode Sense10 command 514:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 515:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 516:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 517:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 518:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ModeSense10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 519:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 520:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(lun); 521:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 522:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint16_t len = MODE_SENSE10_LEN; 523:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 524:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 525:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 526:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 527:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 528:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 529:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Check If media is write-protected */ 530:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsWriteProtected(lun) != 0) 531:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 532:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSC_Mode_Sense10_data[3] |= (0x1U << 7); /* Set the WP (write protection) bit */ 533:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 534:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else 535:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 536:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSC_Mode_Sense10_data[3] &= ~(0x1U << 7); /* Clear the WP (write protection) bit */ 537:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 538:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 539:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (params[8] <= len) 540:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 541:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = params[8]; 542:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 543:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 544:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense10_data, len); 545:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 546:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 547:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 548:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 549:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 550:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 551:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_RequestSense 552:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Request Sense command 553:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 554:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 555:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status ARM GAS /tmp/ccJhhmLc.s page 606 556:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 557:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_RequestSense(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 558:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 559:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(lun); 560:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint8_t i; 561:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 562:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 563:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 564:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 565:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 566:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 567:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 568:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength == 0U) 569:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 570:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 571:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 572:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 573:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 574:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 575:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 576:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[i] = 0U; 577:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 578:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 579:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[0] = 0x70U; 580:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[7] = REQUEST_SENSE_DATA_LEN - 6U; 581:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 582:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((hmsc->scsi_sense_head != hmsc->scsi_sense_tail)) 583:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 584:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[2] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].Skey; 585:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[12] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASC; 586:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[13] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASCQ; 587:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense_head++; 588:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 589:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->scsi_sense_head == SENSE_LIST_DEEPTH) 590:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 591:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense_head = 0U; 592:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 593:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 594:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 595:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = REQUEST_SENSE_DATA_LEN; 596:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 597:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (params[4] <= REQUEST_SENSE_DATA_LEN) 598:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 599:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = params[4]; 600:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 601:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 602:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 603:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 604:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 605:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 606:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 607:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_SenseCode 608:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Load the last error code in the error list 609:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 610:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param sKey: Sense Key 611:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param ASC: Additional Sense Code 612:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval none ARM GAS /tmp/ccJhhmLc.s page 607 613:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 614:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 615:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** void SCSI_SenseCode(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t sKey, uint8_t ASC) 10521 .loc 20 615 6 view -0 10522 .cfi_startproc 10523 @ args = 0, pretend = 0, frame = 0 10524 @ frame_needed = 0, uses_anonymous_args = 0 10525 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:61 616:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 617:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(lun); 618:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 10526 .loc 20 618 31 view .LVU2655 10527 0000 D0F8D432 ldr r3, [r0, #724] @ pdev_1(D)->classId, pdev_1(D)->classId 10528 0004 B033 adds r3, r3, #176 @ tmp124, pdev_1(D)->classId, 10529 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:61 615:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 10530 .loc 20 615 6 view .LVU2656 10531 0006 10B5 push {r4, lr} @ 10532 .LCFI71: 10533 .cfi_def_cfa_offset 8 10534 .cfi_offset 4, -8 10535 .cfi_offset 14, -4 10536 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:61 10537 .loc 20 618 31 view .LVU2657 10538 0008 50F82300 ldr r0, [r0, r3, lsl #2] @ hmsc, pdev_1(D)->pClassDataCmsit[_2] 10539 .LVL567: 10540 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:62 619:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 620:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 10541 .loc 20 620 6 view .LVU2658 10542 000c 98B1 cbz r0, .L785 @ hmsc, 10543 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:62 621:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 622:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return; 623:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 624:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 625:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense[hmsc->scsi_sense_tail].Skey = sKey; 10544 .loc 20 625 24 view .LVU2659 10545 000e 90F86132 ldrb r3, [r0, #609] @ zero_extendqisi2 @ _4, hmsc_3->scsi_sense_tail 10546 0012 00EBC304 add r4, r0, r3, lsl #3 @ _19, hmsc, _4, 10547 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:62 626:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASC = ASC; 627:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASCQ = 0U; 628:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense_tail++; 10548 .loc 20 628 24 view .LVU2660 10549 0016 0133 adds r3, r3, #1 @ tmp131, _4, 10550 0018 DBB2 uxtb r3, r3 @ _8, tmp131 10551 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:62 626:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASC = ASC; 10552 .loc 20 626 51 view .LVU2661 10553 001a 84F84422 strb r2, [r4, #580] @ ASC, MEM [(struct USBD_MSC_BOT_HandleTypeDef *)_19 + 580B] 10554 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:63 629:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 630:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->scsi_sense_tail == SENSE_LIST_DEEPTH) 10555 .loc 20 630 6 view .LVU2662 10556 001e 042B cmp r3, #4 @ _8, 10557 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:62 ARM GAS /tmp/ccJhhmLc.s page 608 627:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense_tail++; 10558 .loc 20 627 52 view .LVU2663 10559 0020 4FF00002 mov r2, #0 @ tmp129, 10560 .LVL568: 10561 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:62 625:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASC = ASC; 10562 .loc 20 625 48 view .LVU2664 10563 0024 84F84012 strb r1, [r4, #576] @ sKey, MEM [(struct USBD_MSC_BOT_HandleTypeDef *)_19 + 576B] 10564 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:62 627:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense_tail++; 10565 .loc 20 627 52 view .LVU2665 10566 0028 84F84522 strb r2, [r4, #581] @ tmp129, MEM [(struct USBD_MSC_BOT_HandleTypeDef *)_19 + 581B] 10567 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:62 628:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 10568 .loc 20 628 24 view .LVU2666 10569 002c 14BF ite ne 10570 002e 80F86132 strbne r3, [r0, #609] @ _8, hmsc_3->scsi_sense_tail 10571 .LVL569: 10572 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:63 631:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 632:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_sense_tail = 0U; 10573 .loc 20 632 27 view .LVU2667 10574 0032 80F86122 strbeq r2, [r0, #609] @ tmp129, hmsc_3->scsi_sense_tail 10575 .L785: 10576 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:63 633:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 634:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 10577 .loc 20 634 1 view .LVU2668 10578 0036 10BD pop {r4, pc} @ 10579 .cfi_endproc 10580 .LFE174: 10581 .size SCSI_SenseCode.isra.0, .-SCSI_SenseCode.isra.0 10582 .section .text.SCSI_UpdateBotData.isra.0,"ax",%progbits 10583 .align 1 10584 .global SCSI_UpdateBotData.isra.0 10585 .hidden SCSI_UpdateBotData.isra.0 10586 .syntax unified 10587 .thumb 10588 .thumb_func 10589 .type SCSI_UpdateBotData.isra.0, %function 10590 SCSI_UpdateBotData.isra.0: 10591 .LVL570: 10592 .LFB176: 635:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 636:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 637:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 638:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_StartStopUnit 639:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Start Stop Unit command 640:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 641:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 642:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 643:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 644:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_StartStopUnit(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 645:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 646:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(lun); 647:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 648:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ARM GAS /tmp/ccJhhmLc.s page 609 649:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 650:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 651:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 652:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 653:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 654:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((hmsc->scsi_medium_state == SCSI_MEDIUM_LOCKED) && ((params[4] & 0x3U) == 2U)) 655:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 656:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELD_IN_COMMAND); 657:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 658:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 659:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 660:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 661:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((params[4] & 0x3U) == 0x1U) /* START=1 */ 662:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 663:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 664:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 665:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else if ((params[4] & 0x3U) == 0x2U) /* START=0 and LOEJ Load Eject=1 */ 666:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 667:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_medium_state = SCSI_MEDIUM_EJECTED; 668:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 669:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else if ((params[4] & 0x3U) == 0x3U) /* START=1 and LOEJ Load Eject=1 */ 670:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 671:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 672:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 673:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else 674:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 675:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* .. */ 676:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 677:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = 0U; 678:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 679:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 680:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 681:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 682:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 683:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 684:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_AllowPreventRemovable 685:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Allow Prevent Removable medium command 686:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 687:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 688:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 689:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 690:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_AllowPreventRemovable(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 691:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 692:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(lun); 693:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 694:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 695:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 696:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 697:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 698:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 699:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 700:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (params[4] == 0U) 701:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 702:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 703:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 704:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else 705:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { ARM GAS /tmp/ccJhhmLc.s page 610 706:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->scsi_medium_state = SCSI_MEDIUM_LOCKED; 707:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 708:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 709:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = 0U; 710:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 711:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 712:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 713:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 714:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 715:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 716:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_Read10 717:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Read10 command 718:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 719:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 720:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 721:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 722:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Read10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 723:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 724:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 725:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 726:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 727:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 728:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 729:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 730:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 731:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 732:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 733:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 734:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* case 10 : Ho <> Di */ 735:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 736:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 737:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 738:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 739:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 740:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 741:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 742:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 743:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 744:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 745:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 746:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 747:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 748:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsReady(lun) != 0) 749:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 750:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 751:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 752:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 753:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 754:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->addr = ((uint32_t)params[2] << 24) | 755:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[3] << 16) | 756:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[4] << 8) | 757:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[5]; 758:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 759:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->len = ((uint32_t)params[7] << 8) | (uint32_t)params[8]; 760:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 761:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (SCSI_CheckAddressRange(pdev, lun, p_scsi_blk->addr, p_scsi_blk->len) < 0) 762:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { ARM GAS /tmp/ccJhhmLc.s page 611 763:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; /* error */ 764:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 765:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 766:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* cases 4,5 : Hi <> Dn */ 767:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength != (p_scsi_blk->len * p_scsi_blk->size)) 768:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 769:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 770:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 771:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 772:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 773:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_DATA_IN; 774:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 775:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = MSC_MEDIA_PACKET; 776:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 777:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return SCSI_ProcessRead(pdev, lun); 778:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 779:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 780:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 781:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 782:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_Read12 783:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Read12 command 784:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 785:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 786:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 787:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 788:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Read12(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 789:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 790:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 791:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 792:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 793:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 794:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 795:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 796:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 797:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 798:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 799:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 800:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* case 10 : Ho <> Di */ 801:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 802:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 803:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 804:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 805:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 806:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 807:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 808:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 809:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 810:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 811:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 812:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 813:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsReady(lun) != 0) 814:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 815:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 816:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 817:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 818:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 819:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->addr = ((uint32_t)params[2] << 24) | ARM GAS /tmp/ccJhhmLc.s page 612 820:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[3] << 16) | 821:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[4] << 8) | 822:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[5]; 823:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 824:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->len = ((uint32_t)params[6] << 24) | 825:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[7] << 16) | 826:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[8] << 8) | 827:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[9]; 828:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 829:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (SCSI_CheckAddressRange(pdev, lun, p_scsi_blk->addr, p_scsi_blk->len) < 0) 830:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 831:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; /* error */ 832:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 833:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 834:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* cases 4,5 : Hi <> Dn */ 835:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength != (p_scsi_blk->len * p_scsi_blk->size)) 836:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 837:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 838:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 839:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 840:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 841:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_DATA_IN; 842:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 843:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = MSC_MEDIA_PACKET; 844:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 845:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return SCSI_ProcessRead(pdev, lun); 846:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 847:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 848:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 849:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 850:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_Write10 851:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Write10 command 852:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 853:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 854:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 855:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 856:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Write10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 857:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 858:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 859:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 860:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t len; 861:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 862:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 863:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 864:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 865:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 866:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 867:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #ifdef USE_USBD_COMPOSITE 868:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Get the Endpoints addresses allocated for this class instance */ 869:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 870:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #endif /* USE_USBD_COMPOSITE */ 871:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 872:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 873:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 874:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength == 0U) 875:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 876:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); ARM GAS /tmp/ccJhhmLc.s page 613 877:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 878:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 879:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 880:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* case 8 : Hi <> Do */ 881:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 882:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 883:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 884:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 885:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 886:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 887:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Check whether Media is ready */ 888:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsReady(lun) != 0) 889:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 890:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 891:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 892:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 893:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 894:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Check If media is write-protected */ 895:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsWriteProtected(lun) != 0) 896:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 897:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 898:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 899:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 900:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 901:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->addr = ((uint32_t)params[2] << 24) | 902:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[3] << 16) | 903:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[4] << 8) | 904:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[5]; 905:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 906:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->len = ((uint32_t)params[7] << 8) | 907:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[8]; 908:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 909:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* check if LBA address is in the right range */ 910:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (SCSI_CheckAddressRange(pdev, lun, p_scsi_blk->addr, p_scsi_blk->len) < 0) 911:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 912:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; /* error */ 913:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 914:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 915:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = p_scsi_blk->len * p_scsi_blk->size; 916:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 917:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* cases 3,11,13 : Hn,Ho <> D0 */ 918:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength != len) 919:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 920:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 921:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 922:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 923:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 924:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = MIN(len, MSC_MEDIA_PACKET); 925:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 926:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Prepare EP to receive first data packet */ 927:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_DATA_OUT; 928:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)USBD_LL_PrepareReceive(pdev, MSCOutEpAdd, hmsc->bot_data, len); 929:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 930:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else /* Write Process ongoing */ 931:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 932:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return SCSI_ProcessWrite(pdev, lun); 933:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } ARM GAS /tmp/ccJhhmLc.s page 614 934:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 935:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 936:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 937:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 938:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 939:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 940:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_Write12 941:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Write12 command 942:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 943:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 944:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 945:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 946:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Write12(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 947:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 948:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 949:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 950:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t len; 951:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 952:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 953:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 954:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 955:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 956:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #ifdef USE_USBD_COMPOSITE 957:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Get the Endpoints addresses allocated for this class instance */ 958:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 959:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #endif /* USE_USBD_COMPOSITE */ 960:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 961:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 962:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 963:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength == 0U) 964:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 965:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 966:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 967:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 968:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 969:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* case 8 : Hi <> Do */ 970:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 971:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 972:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 973:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 974:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 975:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 976:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Check whether Media is ready */ 977:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsReady(lun) != 0) 978:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 979:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 980:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_NO_DATA; 981:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 982:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 983:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 984:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Check If media is write-protected */ 985:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->IsWriteProtected(lun) != 0) 986:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 987:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 988:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_NO_DATA; 989:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 990:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } ARM GAS /tmp/ccJhhmLc.s page 615 991:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 992:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->addr = ((uint32_t)params[2] << 24) | 993:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[3] << 16) | 994:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[4] << 8) | 995:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[5]; 996:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 997:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->len = ((uint32_t)params[6] << 24) | 998:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[7] << 16) | 999:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ((uint32_t)params[8] << 8) | 1000:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (uint32_t)params[9]; 1001:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1002:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* check if LBA address is in the right range */ 1003:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (SCSI_CheckAddressRange(pdev, lun, p_scsi_blk->addr, p_scsi_blk->len) < 0) 1004:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1005:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; /* error */ 1006:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1007:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1008:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = p_scsi_blk->len * p_scsi_blk->size; 1009:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1010:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* cases 3,11,13 : Hn,Ho <> D0 */ 1011:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc->cbw.dDataLength != len) 1012:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1013:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 1014:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1015:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1016:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1017:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = MIN(len, MSC_MEDIA_PACKET); 1018:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1019:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Prepare EP to receive first data packet */ 1020:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_DATA_OUT; 1021:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)USBD_LL_PrepareReceive(pdev, MSCOutEpAdd, hmsc->bot_data, len); 1022:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1023:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else /* Write Process ongoing */ 1024:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1025:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return SCSI_ProcessWrite(pdev, lun); 1026:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1027:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1028:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1029:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1030:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1031:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1032:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 1033:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_Verify10 1034:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process Verify10 command 1035:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 1036:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 1037:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 1038:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 1039:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_Verify10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 1040:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1041:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 1042:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 1043:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1044:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 1045:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1046:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1047:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } ARM GAS /tmp/ccJhhmLc.s page 616 1048:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1049:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((params[1] & 0x02U) == 0x02U) 1050:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1051:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELD_IN_COMMAND); 1052:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; /* Error, Verify Mode Not supported*/ 1053:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1054:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1055:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (SCSI_CheckAddressRange(pdev, lun, p_scsi_blk->addr, p_scsi_blk->len) < 0) 1056:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1057:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; /* error */ 1058:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1059:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1060:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = 0U; 1061:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1062:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1063:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1064:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1065:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 1066:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ReportLuns12 1067:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process ReportLuns command 1068:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 1069:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 1070:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReportLuns(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 1071:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1072:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc; 1073:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t lun_list_length; 1074:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t total_length; 1075:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint8_t lun_idx; 1076:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1077:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(lun); 1078:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(params); 1079:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1080:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Define the report LUNs buffer Each LUN entry is 8 bytes */ 1081:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static uint8_t lun_report[8U * (MSC_BOT_MAX_LUN + 1U)]; 1082:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1083:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId]; 1084:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1085:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 1086:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1087:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1088:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1089:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1090:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Initialize the report LUNs buffer */ 1091:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)USBD_memset(lun_report, 0, sizeof(lun_report)); 1092:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1093:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Set the LUN list length in the first 4 bytes */ 1094:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** lun_list_length = 8U * (hmsc->max_lun + 1U); 1095:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** lun_report[0] = (uint8_t)(lun_list_length >> 24); 1096:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** lun_report[1] = (uint8_t)(lun_list_length >> 16); 1097:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** lun_report[2] = (uint8_t)(lun_list_length >> 8); 1098:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** lun_report[3] = (uint8_t)(lun_list_length & 0xFFU); 1099:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1100:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Update the LUN list */ 1101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** for (lun_idx = 0U; lun_idx <= hmsc->max_lun; lun_idx++) 1102:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1103:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* LUN identifier is placed at the second byte of each 8-byte entry */ 1104:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** lun_report[(8U * (lun_idx + 1U)) + 1U] = lun_idx; ARM GAS /tmp/ccJhhmLc.s page 617 1105:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1106:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1107:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Calculate the total length of the report LUNs buffer */ 1108:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** total_length = lun_list_length + 8U; 1109:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1110:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Update the BOT data with the report LUNs buffer */ 1111:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)SCSI_UpdateBotData(hmsc, lun_report, (uint16_t)total_length); 1112:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1113:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1114:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1115:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1116:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 1117:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ReceiveDiagnosticResults 1118:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Process SCSI_Receive Diagnostic Results command 1119:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 1120:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param params: Command parameters 1121:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 1122:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 1123:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ReceiveDiagnosticResults(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) 1124:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1125:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** UNUSED(lun); 1126:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 1127:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint16_t allocation_length; 1128:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1129:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Extract the allocation length from the CDB */ 1130:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** allocation_length = (((uint16_t)params[3] << 8) | (uint16_t)params[4]); 1131:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1132:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (allocation_length == 0U) 1133:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1134:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1135:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1136:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1137:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Ensure the allocation length does not exceed the diagnostic data length */ 1138:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (allocation_length > DIAGNOSTIC_DATA_LEN) 1139:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1140:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** allocation_length = DIAGNOSTIC_DATA_LEN; 1141:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1142:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1143:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Send the diagnostic data to the host */ 1144:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)SCSI_UpdateBotData(hmsc, MSC_Diagnostic_Data, allocation_length); 1145:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1146:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1147:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1148:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1149:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 1150:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_CheckAddressRange 1151:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Check address range 1152:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 1153:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param blk_offset: first block address 1154:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param blk_nbr: number of block to be processed 1155:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 1156:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 1157:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_CheckAddressRange(USBD_HandleTypeDef *pdev, uint8_t lun, 1158:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t blk_offset, uint32_t blk_nbr) 1159:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1160:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 1161:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; ARM GAS /tmp/ccJhhmLc.s page 618 1162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1163:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 1164:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1165:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1166:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1167:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1168:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if ((blk_offset + blk_nbr) > p_scsi_blk->nbr) 1169:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1170:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, ADDRESS_OUT_OF_RANGE); 1171:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1172:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1173:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1174:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1175:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1176:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1177:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 1178:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ProcessRead 1179:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Handle Read Process 1180:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 1181:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 1182:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 1183:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ProcessRead(USBD_HandleTypeDef *pdev, uint8_t lun) 1184:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1185:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 1186:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 1187:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t len; 1188:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1189:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 1190:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1191:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1192:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1193:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1194:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = p_scsi_blk->len * p_scsi_blk->size; 1195:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1196:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #ifdef USE_USBD_COMPOSITE 1197:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Get the Endpoints addresses allocated for this class instance */ 1198:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSCInEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_IN, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 1199:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #endif /* USE_USBD_COMPOSITE */ 1200:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1201:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = MIN(len, MSC_MEDIA_PACKET); 1202:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1203:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->Read(lun, hmsc->bot_data, 1204:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->addr, 1205:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (len / p_scsi_blk->size)) < 0) 1206:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1207:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, UNRECOVERED_READ_ERROR); 1208:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1209:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1210:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1211:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)USBD_LL_Transmit(pdev, MSCInEpAdd, hmsc->bot_data, len); 1212:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1213:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->addr += (len / p_scsi_blk->size); 1214:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->len -= (len / p_scsi_blk->size); 1215:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1216:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* case 6 : Hi = Di */ 1217:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->csw.dDataResidue -= len; 1218:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** ARM GAS /tmp/ccJhhmLc.s page 619 1219:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (p_scsi_blk->len == 0U) 1220:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1221:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_state = USBD_BOT_LAST_DATA_IN; 1222:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1223:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1224:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1225:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1226:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1227:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 1228:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_ProcessWrite 1229:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * Handle Write Process 1230:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param lun: Logical unit number 1231:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 1232:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 1233:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_ProcessWrite(USBD_HandleTypeDef *pdev, uint8_t lun) 1234:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1235:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassDataCmsit[pdev->clas 1236:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** USBD_MSC_BOT_LUN_TypeDef *p_scsi_blk = &hmsc->scsi_blk[lun]; 1237:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint32_t len; 1238:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1239:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 1240:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1241:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1242:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1243:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1244:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = p_scsi_blk->len * p_scsi_blk->size; 1245:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1246:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #ifdef USE_USBD_COMPOSITE 1247:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Get the Endpoints addresses allocated for this class instance */ 1248:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSCOutEpAdd = USBD_CoreGetEPAdd(pdev, USBD_EP_OUT, USBD_EP_TYPE_BULK, (uint8_t)pdev->classId); 1249:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** #endif /* USE_USBD_COMPOSITE */ 1250:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1251:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = MIN(len, MSC_MEDIA_PACKET); 1252:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1253:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (((USBD_StorageTypeDef *)pdev->pUserData[pdev->classId])->Write(lun, hmsc->bot_data, p_scsi_bl 1254:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (len / p_scsi_blk->size)) < 0) 1255:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1256:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, WRITE_FAULT); 1257:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1258:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1259:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1260:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->addr += (len / p_scsi_blk->size); 1261:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** p_scsi_blk->len -= (len / p_scsi_blk->size); 1262:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1263:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* case 12 : Ho = Do */ 1264:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->csw.dDataResidue -= len; 1265:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1266:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (p_scsi_blk->len == 0U) 1267:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1268:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 1269:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1270:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** else 1271:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1272:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len = MIN((p_scsi_blk->len * p_scsi_blk->size), MSC_MEDIA_PACKET); 1273:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1274:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /* Prepare EP to Receive next packet */ 1275:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** (void)USBD_LL_PrepareReceive(pdev, MSCOutEpAdd, hmsc->bot_data, len); ARM GAS /tmp/ccJhhmLc.s page 620 1276:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1277:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1278:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1279:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1280:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1281:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1282:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** /** 1283:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @brief SCSI_UpdateBotData 1284:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * fill the requested Data to transmit buffer 1285:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param hmsc handler 1286:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param pBuff: Data buffer 1287:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @param length: Data length 1288:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** * @retval status 1289:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** */ 1290:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** static int8_t SCSI_UpdateBotData(USBD_MSC_BOT_HandleTypeDef *hmsc, 10593 .loc 20 1290 15 view -0 10594 .cfi_startproc 10595 @ args = 0, pretend = 0, frame = 0 10596 @ frame_needed = 0, uses_anonymous_args = 0 10597 .loc 20 1290 15 is_stmt 0 view .LVU2670 10598 0000 10B5 push {r4, lr} @ 10599 .LCFI72: 10600 .cfi_def_cfa_offset 8 10601 .cfi_offset 4, -8 10602 .cfi_offset 14, -4 10603 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:12 1291:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint8_t *pBuff, uint16_t length) 1292:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1293:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** uint16_t len = length; 1294:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1295:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** if (hmsc == NULL) 10604 .loc 20 1295 6 is_stmt 1 view .LVU2671 10605 0002 08B1 cbz r0, .L790 @ hmsc, 10606 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:13 1296:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { 1297:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return -1; 1298:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1299:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1300:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data_length = len; 10607 .loc 20 1300 25 view .LVU2672 10608 0004 C260 str r2, [r0, #12] @ length, hmsc_1(D)->bot_data_length 10609 .LVL571: 10610 .L792: 10611 .LBB815: 10612 .LBB816: 10613 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:13 1301:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1302:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** while (len != 0U) 10614 .loc 20 1302 14 view .LVU2673 10615 0006 02B9 cbnz r2, .L793 @ length, 10616 .LVL572: 10617 .L790: 10618 .loc 20 1302 14 is_stmt 0 view .LVU2674 10619 .LBE816: 10620 .LBE815: 10621 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:13 1303:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** { ARM GAS /tmp/ccJhhmLc.s page 621 1304:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** len--; 1305:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[len] = pBuff[len]; 1306:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 1307:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** 1308:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** return 0; 1309:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 10622 .loc 20 1309 1 is_stmt 1 view .LVU2675 10623 0008 10BD pop {r4, pc} @ 10624 .LVL573: 10625 .L793: 10626 .LBB818: 10627 .LBB817: 10628 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:13 1304:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[len] = pBuff[len]; 10629 .loc 20 1304 8 view .LVU2676 10630 000a 013A subs r2, r2, #1 @ tmp122, length, 10631 .LVL574: 1304:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** hmsc->bot_data[len] = pBuff[len]; 10632 .loc 20 1304 8 is_stmt 0 view .LVU2677 10633 000c 92B2 uxth r2, r2 @ length, tmp122 10634 .LVL575: 10635 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:13 1305:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 10636 .loc 20 1305 25 is_stmt 1 view .LVU2678 10637 000e 8318 adds r3, r0, r2 @ tmp123, hmsc, length 10638 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:13 1305:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 10639 .loc 20 1305 32 view .LVU2679 10640 0010 8C5C ldrb r4, [r1, r2] @ zero_extendqisi2 @ _16, *_14 10641 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c:13 1305:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c **** } 10642 .loc 20 1305 25 view .LVU2680 10643 0012 1C74 strb r4, [r3, #16] @ _16, hmsc_1(D)->bot_data[_15] 10644 0014 F7E7 b .L792 @ 10645 .LBE817: 10646 .LBE818: 10647 .cfi_endproc 10648 .LFE176: 10649 .size SCSI_UpdateBotData.isra.0, .-SCSI_UpdateBotData.isra.0 10650 .section .text.USBD_CtlSendStatus.isra.0,"ax",%progbits 10651 .align 1 10652 .global USBD_CtlSendStatus.isra.0 10653 .hidden USBD_CtlSendStatus.isra.0 10654 .syntax unified 10655 .thumb 10656 .thumb_func 10657 .type USBD_CtlSendStatus.isra.0, %function 10658 USBD_CtlSendStatus.isra.0: 10659 .LVL576: 10660 .LFB180: 10661 .file 21 "/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @file usbd_ioreq.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief This file provides the IO requests APIs for control endpoints. 6:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ****************************************************************************** ARM GAS /tmp/ccJhhmLc.s page 622 7:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @attention 8:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 9:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * Copyright (c) 2015 STMicroelectronics. 10:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * All rights reserved. 11:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 12:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * This software is licensed under terms that can be found in the LICENSE file 13:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * in the root directory of this software component. 14:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 15:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * 16:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ****************************************************************************** 17:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 18:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 19:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Includes ------------------------------------------------------------------*/ 20:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #include "usbd_ioreq.h" 21:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 22:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY 23:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 24:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 25:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 26:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 27:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ 28:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief control I/O requests module 29:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 30:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 31:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 32:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_TypesDefinitions 33:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 34:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 35:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 36:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 37:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 38:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 39:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 40:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Defines 41:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 42:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 43:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 44:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 45:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 46:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 47:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 48:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 49:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Macros 50:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 51:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 52:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 53:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 54:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 55:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 56:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 57:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Variables 58:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 59:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 60:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 61:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 62:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 63:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ ARM GAS /tmp/ccJhhmLc.s page 623 64:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 65:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 66:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_FunctionPrototypes 67:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 68:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 69:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 70:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @} 71:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 72:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 73:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 74:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Functions 75:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{ 76:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 77:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 78:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 79:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendData 80:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send data on the ctl pipe 81:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 82:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 83:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent 84:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 85:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 86:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, 87:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 88:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 89:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 90:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_IN; 91:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].total_length = len; 92:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].pbuffer = pbuf; 93:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 94:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #ifdef USBD_AVOID_PACKET_SPLIT_MPS 95:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].rem_length = 0U; 96:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #else 97:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].rem_length = len; 98:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #endif /* USBD_AVOID_PACKET_SPLIT_MPS */ 99:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 100:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 102:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 103:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 104:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 105:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 106:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 107:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueSendData 108:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue sending data on the ctl pipe 109:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 110:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 111:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent 112:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 113:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 114:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, 115:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 116:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 117:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the next transfer */ 118:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 119:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 120:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; ARM GAS /tmp/ccJhhmLc.s page 624 121:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 122:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 123:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 124:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlPrepareRx 125:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive data on the ctl pipe 126:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 127:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 128:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received 129:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 130:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 131:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev, 132:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 133:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 134:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 135:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_OUT; 136:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].total_length = len; 137:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].pbuffer = pbuf; 138:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 139:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #ifdef USBD_AVOID_PACKET_SPLIT_MPS 140:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].rem_length = 0U; 141:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #else 142:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].rem_length = len; 143:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #endif /* USBD_AVOID_PACKET_SPLIT_MPS */ 144:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 145:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 146:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); 147:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 148:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 149:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 150:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 151:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 152:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueRx 153:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue receive data on the ctl pipe 154:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 155:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer 156:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received 157:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 158:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 159:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, 160:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 161:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); 163:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 164:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK; 165:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** } 166:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 167:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** 168:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendStatus 169:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send zero lzngth packet on the ctl pipe 170:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance 171:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status 172:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */ 173:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev) 10662 .loc 21 173 20 view -0 10663 .cfi_startproc 10664 @ args = 0, pretend = 0, frame = 0 10665 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccJhhmLc.s page 625 10666 @ link register save eliminated. 10667 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:176: pde 174:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** { 175:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */ 176:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_IN; 10668 .loc 21 176 19 view .LVU2682 10669 0000 0422 movs r2, #4 @ tmp115, 10670 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:179: (vo 177:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 178:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */ 179:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, NULL, 0U); 10671 .loc 21 179 9 view .LVU2683 10672 0002 0023 movs r3, #0 @, 10673 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:176: pde 176:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10674 .loc 21 176 19 view .LVU2684 10675 0004 C0F89422 str r2, [r0, #660] @ tmp115, pdev_1(D)->ep0_state 10676 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:179: (vo 10677 .loc 21 179 9 view .LVU2685 10678 0008 1946 mov r1, r3 @, 10679 000a 1A46 mov r2, r3 @, 10680 000c FFF7FEBF b USBD_LL_Transmit.isra.0 @ 10681 .LVL577: 10682 .loc 21 179 9 is_stmt 0 view .LVU2686 10683 .cfi_endproc 10684 .LFE180: 10685 .size USBD_CtlSendStatus.isra.0, .-USBD_CtlSendStatus.isra.0 10686 .section .text.HAL_PCD_DataOutStageCallback.constprop.0,"ax",%progbits 10687 .align 1 10688 .global HAL_PCD_DataOutStageCallback.constprop.0 10689 .hidden HAL_PCD_DataOutStageCallback.constprop.0 10690 .syntax unified 10691 .thumb 10692 .thumb_func 10693 .type HAL_PCD_DataOutStageCallback.constprop.0, %function 10694 HAL_PCD_DataOutStageCallback.constprop.0: 10695 .LVL578: 10696 .LFB182: 168:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 10697 .loc 13 168 6 is_stmt 1 view -0 10698 .cfi_startproc 10699 @ args = 0, pretend = 0, frame = 0 10700 @ frame_needed = 0, uses_anonymous_args = 0 10701 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:171: USBD_LL_DataOutStage((US 171:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 10702 .loc 13 171 49 view .LVU2688 10703 0000 204B ldr r3, .L807 @ tmp130, 10704 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:168: void HAL_PCD_DataOutStageC 168:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 10705 .loc 13 168 6 view .LVU2689 10706 0002 10B5 push {r4, lr} @ 10707 .LCFI73: 10708 .cfi_def_cfa_offset 8 10709 .cfi_offset 4, -8 10710 .cfi_offset 14, -4 10711 .LBB823: 10712 .LBB824: ARM GAS /tmp/ccJhhmLc.s page 626 10713 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:595: if ( 235:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 236:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE 237:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 238:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterClassComposite 239:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Link class driver to Device Core. 240:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev : Device Handle 241:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pclass: Class handle 242:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param classtype: Class type 243:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param EpAddr: Endpoint Address handle 244:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 245:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 246:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterClassComposite(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass, 247:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CompositeClassTypeDef classtype, uint8_t *EpAdd 248:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 249:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK; 250:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint16_t len = 0U; 251:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 252:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->classId < USBD_MAX_SUPPORTED_CLASS) && (pdev->NumClasses < USBD_MAX_SUPPORTED_CLASS)) 253:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 254:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((uint32_t)pclass != 0U) 255:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 256:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Link the class to the USB Device handle */ 257:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[pdev->classId] = pclass; 258:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_OK; 259:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 260:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].EpAdd = EpAddr; 261:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 262:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Call the composite class builder */ 263:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CMPSIT_AddClass(pdev, pclass, classtype, 0); 264:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 265:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Increment the ClassId for the next occurrence */ 266:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId ++; 267:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->NumClasses ++; 268:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 269:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 270:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 271:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U) 272:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Class handle"); 273:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* (USBD_DEBUG_LEVEL > 1U) */ 274:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL; 275:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 276:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 277:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 278:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (ret == USBD_OK) 279:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 280:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Get Device Configuration Descriptor */ 281:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USB_HS 282:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = USBD_CMPSIT.GetHSConfigDescriptor(&len); 283:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else /* Default USE_USB_FS */ 284:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pConfDesc = USBD_CMPSIT.GetFSConfigDescriptor(&len); 285:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USB_FS */ 286:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 287:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 288:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 289:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 290:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/ccJhhmLc.s page 627 291:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 292:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_UnRegisterClassComposite 293:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * UnLink all composite class drivers from Device Core. 294:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle 295:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 296:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 297:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_UnRegisterClassComposite(USBD_HandleTypeDef *pdev) 298:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 299:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK; 300:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx1; 301:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx2; 302:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 303:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unroll all activated classes */ 304:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (idx1 = 0; idx1 < pdev->NumClasses; idx1++) 305:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 306:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if the class correspond to the requested type and if it is active */ 307:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->tclasslist[idx1].Active == 1U) 308:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 309:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set the new class ID */ 310:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = idx1; 311:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 312:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free resources used by the selected class */ 313:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId] != NULL) 314:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 315:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 316:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[pdev->classId]->DeInit(pdev, (uint8_t)pdev->dev_config) != 0U) 317:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 318:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_DEBUG_LEVEL > 1U) 319:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Class DeInit didn't succeed!, can't unregister selected class"); 320:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* (USBD_DEBUG_LEVEL > 1U) */ 321:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 322:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL; 323:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 324:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 325:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 326:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free the class pointer */ 327:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[pdev->classId] = NULL; 328:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 329:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free the class location in classes table and reset its parameters to zero */ 330:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].ClassType = CLASS_TYPE_NONE; 331:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].ClassId = 0U; 332:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Active = 0U; 333:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].NumEps = 0U; 334:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].NumIf = 0U; 335:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].CurrPcktSze = 0U; 336:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 337:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (idx2 = 0U; idx2 < USBD_MAX_CLASS_ENDPOINTS; idx2++) 338:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 339:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Eps[idx2].add = 0U; 340:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Eps[idx2].type = 0U; 341:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Eps[idx2].size = 0U; 342:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Eps[idx2].is_used = 0U; 343:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 344:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 345:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (idx2 = 0U; idx2 < USBD_MAX_CLASS_INTERFACES; idx2++) 346:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 347:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->tclasslist[pdev->classId].Ifs[idx2] = 0U; ARM GAS /tmp/ccJhhmLc.s page 628 348:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 349:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 350:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 351:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 352:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Reset the configuration descriptor */ 353:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CMPST_ClearConfDesc(pdev); 354:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 355:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Reset the class ID and number of classes */ 356:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0U; 357:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->NumClasses = 0U; 358:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 359:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 360:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 361:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */ 362:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 363:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #if (USBD_USER_REGISTER_CALLBACK == 1U) 364:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 365:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterDevStateCallback 366:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev : Device Handle 367:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pUserCallback: User Callback 368:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 369:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 370:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterDevStateCallback(USBD_HandleTypeDef *pdev, USBD_DevStateCallbackTyp 371:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 372:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->DevStateCallback = pUserCallback; 373:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 374:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 375:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 376:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USBD_USER_REGISTER_CALLBACK */ 377:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 378:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 379:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Start 380:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Start the USB Device Core. 381:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle 382:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 383:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 384:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev) 385:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 386:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE 387:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0U; 388:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */ 389:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 390:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Start the low level driver */ 391:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_LL_Start(pdev); 392:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 393:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 394:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 395:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Stop 396:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Stop the USB Device Core. 397:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle 398:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status 399:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 400:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Stop(USBD_HandleTypeDef *pdev) 401:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 402:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Disconnect USB Device */ 403:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_LL_Stop(pdev); 404:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ARM GAS /tmp/ccJhhmLc.s page 629 405:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 406:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE 407:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */ 408:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++) 409:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 410:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */ 411:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U) 412:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 413:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL) 414:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 415:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i; 416:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */ 417:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass[i]->DeInit(pdev, (uint8_t)pdev->dev_config); 418:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 419:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 420:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 421:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 422:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Reset the class ID */ 423:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = 0U; 424:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else 425:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL) 426:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 427:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)pdev->pClass[0]->DeInit(pdev, (uint8_t)pdev->dev_config); 428:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 429:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */ 430:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 431:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 432:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 433:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 434:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 435:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RunTestMode 436:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Launch test mode process 437:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 438:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 439:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 440:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev) 441:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 442:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USBD_HS_TESTMODE_ENABLE 443:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 444:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 445:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Run USB HS test mode */ 446:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_SetTestMode(pdev, pdev->dev_test_mode); 447:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 448:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 449:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else 450:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prevent unused argument compilation warning */ 451:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdev); 452:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 453:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK; 454:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USBD_HS_TESTMODE_ENABLE */ 455:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 456:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 457:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 458:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SetClassConfig 459:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Configure device and start the interface 460:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 461:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index ARM GAS /tmp/ccJhhmLc.s page 630 462:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 463:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 464:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 465:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 466:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 467:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK; 468:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 469:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE 470:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */ 471:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++) 472:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 473:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */ 474:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U) 475:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 476:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL) 477:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 478:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i; 479:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set configuration and Start the Class*/ 480:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->Init(pdev, cfgidx) != 0U) 481:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 482:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL; 483:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 484:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 485:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 486:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 487:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else 488:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0] != NULL) 489:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 490:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set configuration and Start the Class */ 491:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[0]->Init(pdev, cfgidx); 492:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 493:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */ 494:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 495:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 496:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 497:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 498:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 499:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_ClrClassConfig 500:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Clear current configuration 501:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 502:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index 503:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 504:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 505:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) 506:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 507:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK; 508:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 509:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #ifdef USE_USBD_COMPOSITE 510:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Parse the table of classes in use */ 511:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** for (uint32_t i = 0U; i < USBD_MAX_SUPPORTED_CLASS; i++) 512:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 513:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check if current class is in use */ 514:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ((pdev->tclasslist[i].Active) == 1U) 515:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 516:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i] != NULL) 517:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 518:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = i; ARM GAS /tmp/ccJhhmLc.s page 631 519:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process */ 520:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[i]->DeInit(pdev, cfgidx) != 0U) 521:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 522:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL; 523:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 524:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 525:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 526:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 527:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #else 528:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process */ 529:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[0]->DeInit(pdev, cfgidx) != 0U) 530:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 531:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_FAIL; 532:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 533:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #endif /* USE_USBD_COMPOSITE */ 534:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 535:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; 536:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 537:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 538:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 539:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 540:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_SetupStage 541:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle the setup stage 542:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 543:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param psetup: setup packet buffer pointer 544:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 545:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 546:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) 547:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 548:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret; 549:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 550:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ParseSetupRequest(&pdev->request, psetup); 551:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 552:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_SETUP; 553:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 554:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = pdev->request.wLength; 555:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 556:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** switch (pdev->request.bmRequest & 0x1FU) 557:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 558:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_DEVICE: 559:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdDevReq(pdev, &pdev->request); 560:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 561:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 562:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_INTERFACE: 563:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdItfReq(pdev, &pdev->request); 564:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 565:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 566:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_ENDPOINT: 567:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_StdEPReq(pdev, &pdev->request); 568:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 569:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 570:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** default: 571:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U)); 572:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 573:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 574:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 575:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret; ARM GAS /tmp/ccJhhmLc.s page 632 576:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 577:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 578:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** 579:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_DataOutStage 580:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data OUT stage 581:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance 582:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index 583:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdata: data pointer 584:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status 585:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */ 586:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, 587:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t epnum, uint8_t *pdata) 588:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 589:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep; 590:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_OK; 591:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** uint8_t idx; 592:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 593:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** UNUSED(pdata); 594:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 595:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (epnum == 0U) 10714 .loc 18 595 6 view .LVU2690 10715 0004 0146 mov r1, r0 @ epnum, tmp143 10716 .LBE824: 10717 .LBE823: 10718 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:171: USBD_LL_DataOutStage((US 171:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** } 10719 .loc 13 171 49 view .LVU2691 10720 0006 D3F80444 ldr r4, [r3, #1028] @ _1, hpcd_USB_OTG.pData 10721 .LVL579: 10722 .LBB835: 10723 .LBB831: 10724 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:595: if ( 10725 .loc 18 595 6 view .LVU2692 10726 000a 50BB cbnz r0, .L797 @ epnum, 10727 .LVL580: 10728 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:599: if 596:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 597:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_out[0]; 598:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 599:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->ep0_state == USBD_EP0_DATA_OUT) 10729 .loc 18 599 13 view .LVU2693 10730 000c D4F89432 ldr r3, [r4, #660] @ _7, MEM[(struct USBD_HandleTypeDef *)_1].ep0_state 10731 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:599: if 10732 .loc 18 599 8 view .LVU2694 10733 0010 032B cmp r3, #3 @ _7, 10734 0012 35D1 bne .L796 @, 10735 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:601: 600:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 601:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pep->rem_length > pep->maxpacket) 10736 .loc 18 601 14 view .LVU2695 10737 0014 D4F85801 ldr r0, [r4, #344] @ _8, MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].rem_length 10738 .LVL581: 10739 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:601: 10740 .loc 18 601 27 view .LVU2696 10741 0018 B4F86031 ldrh r3, [r4, #352] @ _10, MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].maxpacket 10742 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:601: 10743 .loc 18 601 10 view .LVU2697 ARM GAS /tmp/ccJhhmLc.s page 633 10744 001c 9842 cmp r0, r3 @ _8, _10 10745 001e 0FD9 bls .L799 @, 10746 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:604: 602:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 603:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket; 604:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket; 10747 .loc 18 604 22 view .LVU2698 10748 0020 D4F86421 ldr r2, [r4, #356] @ MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].pbuffer, MEM[(struct USBD_Endpo 10749 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:603: 603:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket; 10750 .loc 18 603 25 view .LVU2699 10751 0024 C01A subs r0, r0, r3 @ _11, _8, _10 10752 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:604: 10753 .loc 18 604 22 view .LVU2700 10754 0026 1A44 add r2, r2, r3 @ _13, _10 10755 .LBB825: 10756 .LBB826: 10757 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:162: (vo 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10758 .loc 21 162 9 view .LVU2701 10759 0028 8342 cmp r3, r0 @ _10, _11 10760 .LBE826: 10761 .LBE825: 10762 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:603: 603:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->pbuffer += pep->maxpacket; 10763 .loc 18 603 25 view .LVU2702 10764 002a C4F85801 str r0, [r4, #344] @ _11, MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].rem_length 10765 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:604: 10766 .loc 18 604 22 view .LVU2703 10767 002e C4F86421 str r2, [r4, #356] @ _13, MEM[(struct USBD_EndpointTypeDef *)_1 + 340B].pbuffer 10768 .LVL582: 10769 .LBB829: 10770 .LBB827: 10771 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:162: (vo 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10772 .loc 21 162 9 view .LVU2704 10773 0032 38BF it cc 10774 0034 0346 movcc r3, r0 @, _11 10775 .LVL583: 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10776 .loc 21 162 9 is_stmt 0 view .LVU2705 10777 0036 2046 mov r0, r4 @, _1 10778 .LVL584: 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10779 .loc 21 162 9 view .LVU2706 10780 .LBE827: 10781 .LBE829: 10782 .LBE831: 10783 .LBE835: 10784 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:172: } 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10785 .loc 13 172 1 is_stmt 1 view .LVU2707 10786 0038 BDE81040 pop {r4, lr} @ 10787 .LCFI74: 10788 .cfi_remember_state 10789 .cfi_restore 14 10790 .cfi_restore 4 ARM GAS /tmp/ccJhhmLc.s page 634 10791 .cfi_def_cfa_offset 0 10792 .LVL585: 10793 .LBB836: 10794 .LBB832: 10795 .LBB830: 10796 .LBB828: 10797 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:162: (vo 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10798 .loc 21 162 9 view .LVU2708 10799 003c FFF7FEBF b USBD_LL_PrepareReceive.isra.0 @ 10800 .LVL586: 10801 .L799: 10802 .LCFI75: 10803 .cfi_restore_state 162:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10804 .loc 21 162 9 is_stmt 0 view .LVU2709 10805 .LBE828: 10806 .LBE830: 10807 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:636: 605:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 606:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlContinueRx(pdev, pep->pbuffer, MAX(pep->rem_length, pep->maxpacket)); 607:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 608:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 609:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 610:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Find the class ID relative to the current request */ 611:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** switch (pdev->request.bmRequest & 0x1FU) 612:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 613:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_DEVICE: 614:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Device requests must be managed by the first instantiated class 615:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (or duplicated by all classes for simplicity) */ 616:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = 0U; 617:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 618:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 619:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_INTERFACE: 620:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = USBD_CoreFindIF(pdev, LOBYTE(pdev->request.wIndex)); 621:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 622:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 623:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_ENDPOINT: 624:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = USBD_CoreFindEP(pdev, LOBYTE(pdev->request.wIndex)); 625:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 626:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 627:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** default: 628:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Back to the first class in case of doubt */ 629:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = 0U; 630:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break; 631:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 632:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 633:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (idx < USBD_MAX_SUPPORTED_CLASS) 634:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 635:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Setup the class ID and route the request to the relative class function */ 636:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 10808 .loc 18 636 19 is_stmt 1 view .LVU2710 10809 0040 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2 @ MEM[(struct USBD_HandleTypeDef *)_1].dev_state, MEM[(stru 10810 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:636: 10811 .loc 18 636 14 view .LVU2711 10812 0044 032B cmp r3, #3 @ MEM[(struct USBD_HandleTypeDef *)_1].dev_state, 10813 0046 07D1 bne .L800 @, ARM GAS /tmp/ccJhhmLc.s page 635 10814 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:638: 637:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 638:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[idx]->EP0_RxReady != NULL) 10815 .loc 18 638 34 view .LVU2712 10816 0048 D4F8B832 ldr r3, [r4, #696] @ MEM[(struct USBD_HandleTypeDef *)_1].pClass[0], MEM[(struct USBD_HandleTypeDe 10817 004c 1B69 ldr r3, [r3, #16] @ _17, _16->EP0_RxReady 10818 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:638: 10819 .loc 18 638 16 view .LVU2713 10820 004e 1BB1 cbz r3, .L800 @ _17, 10821 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:640: 639:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 640:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = idx; 10822 .loc 18 640 29 view .LVU2714 10823 0050 C4F8D412 str r1, [r4, #724] @ epnum, MEM[(struct USBD_HandleTypeDef *)_1].classId 10824 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:641: 641:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass[idx]->EP0_RxReady(pdev); 10825 .loc 18 641 15 view .LVU2715 10826 0054 2046 mov r0, r4 @, _1 10827 0056 9847 blx r3 @ _17 10828 .LVL587: 10829 .L800: 10830 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:646: 642:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 643:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 644:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 645:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 646:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (void)USBD_CtlSendStatus(pdev); 10831 .loc 18 646 15 view .LVU2716 10832 0058 2046 mov r0, r4 @, _1 10833 .LBE832: 10834 .LBE836: 10835 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:172: } 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10836 .loc 13 172 1 view .LVU2717 10837 005a BDE81040 pop {r4, lr} @ 10838 .LCFI76: 10839 .cfi_remember_state 10840 .cfi_restore 14 10841 .cfi_restore 4 10842 .cfi_def_cfa_offset 0 10843 .LVL588: 10844 .LBB837: 10845 .LBB833: 10846 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:646: 10847 .loc 18 646 15 view .LVU2718 10848 005e FFF7FEBF b USBD_CtlSendStatus.isra.0 @ 10849 .LVL589: 10850 .L797: 10851 .LCFI77: 10852 .cfi_restore_state 10853 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:658: 647:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 648:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 649:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** } 650:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else 651:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 652:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Get the class index relative to this interface */ ARM GAS /tmp/ccJhhmLc.s page 636 653:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** idx = USBD_CoreFindEP(pdev, (epnum & 0x7FU)); 654:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 655:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (((uint16_t)idx != 0xFFU) && (idx < USBD_MAX_SUPPORTED_CLASS)) 656:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 657:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Call the class data out function to manage the request */ 658:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED) 10854 .loc 18 658 15 view .LVU2719 10855 0062 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2 @ MEM[(struct USBD_HandleTypeDef *)_1].dev_state, MEM[(stru 10856 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:658: 10857 .loc 18 658 10 view .LVU2720 10858 0066 032B cmp r3, #3 @ MEM[(struct USBD_HandleTypeDef *)_1].dev_state, 10859 0068 0AD1 bne .L796 @, 10860 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:660: 659:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 660:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClass[idx]->DataOut != NULL) 10861 .loc 18 660 30 view .LVU2721 10862 006a D4F8B832 ldr r3, [r4, #696] @ MEM[(struct USBD_HandleTypeDef *)_1].pClass[0], MEM[(struct USBD_HandleTypeDe 10863 006e 9B69 ldr r3, [r3, #24] @ _20, _19->DataOut 10864 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:660: 10865 .loc 18 660 12 view .LVU2722 10866 0070 33B1 cbz r3, .L796 @ _20, 10867 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:662: 661:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 662:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->classId = idx; 10868 .loc 18 662 25 view .LVU2723 10869 0072 0022 movs r2, #0 @ tmp142, 10870 0074 C4F8D422 str r2, [r4, #724] @ tmp142, MEM[(struct USBD_HandleTypeDef *)_1].classId 10871 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:663: 663:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = (USBD_StatusTypeDef)pdev->pClass[idx]->DataOut(pdev, epnum); 10872 .loc 18 663 37 view .LVU2724 10873 0078 2046 mov r0, r4 @, _1 10874 .LVL590: 10875 .loc 18 663 37 is_stmt 0 view .LVU2725 10876 .LBE833: 10877 .LBE837: 10878 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:172: } 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10879 .loc 13 172 1 is_stmt 1 view .LVU2726 10880 007a BDE81040 pop {r4, lr} @ 10881 .LCFI78: 10882 .cfi_remember_state 10883 .cfi_restore 14 10884 .cfi_restore 4 10885 .cfi_def_cfa_offset 0 10886 .LVL591: 10887 .LBB838: 10888 .LBB834: 10889 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:663: 10890 .loc 18 663 37 view .LVU2727 10891 007e 1847 bx r3 @ _20 10892 .LVL592: 10893 .L796: 10894 .LCFI79: 10895 .cfi_restore_state 10896 .loc 18 663 37 is_stmt 0 view .LVU2728 10897 .LBE834: 10898 .LBE838: ARM GAS /tmp/ccJhhmLc.s page 637 10899 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:172: } 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10900 .loc 13 172 1 is_stmt 1 view .LVU2729 10901 0080 10BD pop {r4, pc} @ 10902 .LVL593: 10903 .L808: 172:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 10904 .loc 13 172 1 is_stmt 0 view .LVU2730 10905 0082 00BF .align 2 10906 .L807: 10907 0084 00000000 .word hpcd_USB_OTG 10908 .cfi_endproc 10909 .LFE182: 10910 .size HAL_PCD_DataOutStageCallback.constprop.0, .-HAL_PCD_DataOutStageCallback.constprop.0 10911 .section .text.USBD_CtlSendData.isra.0,"ax",%progbits 10912 .align 1 10913 .global USBD_CtlSendData.isra.0 10914 .hidden USBD_CtlSendData.isra.0 10915 .syntax unified 10916 .thumb 10917 .thumb_func 10918 .type USBD_CtlSendData.isra.0, %function 10919 USBD_CtlSendData.isra.0: 10920 .LVL594: 10921 .LFB188: 86:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 10922 .loc 21 86 20 is_stmt 1 view -0 10923 .cfi_startproc 10924 @ args = 0, pretend = 0, frame = 0 10925 @ frame_needed = 0, uses_anonymous_args = 0 10926 @ link register save eliminated. 86:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 10927 .loc 21 86 20 is_stmt 0 view .LVU2732 10928 0000 10B4 push {r4} @ 10929 .LCFI80: 10930 .cfi_def_cfa_offset 4 10931 .cfi_offset 4, -4 10932 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:86: USBD_S 86:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len) 10933 .loc 21 86 20 is_stmt 1 view .LVU2733 10934 0002 1346 mov r3, r2 @ len, tmp120 10935 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:90: pdev 90:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].total_length = len; 10936 .loc 21 90 19 view .LVU2734 10937 0004 0222 movs r2, #2 @ tmp117, 10938 .LVL595: 90:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].total_length = len; 10939 .loc 21 90 19 is_stmt 0 view .LVU2735 10940 0006 C0F89422 str r2, [r0, #660] @ tmp117, pdev_1(D)->ep0_state 10941 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:92: pdev 92:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10942 .loc 21 92 26 is_stmt 1 view .LVU2736 10943 000a 4162 str r1, [r0, #36] @ pbuf, pdev_1(D)->ep_in[0].pbuffer 10944 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:101: (vo 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10945 .loc 21 101 9 view .LVU2737 10946 000c 0A46 mov r2, r1 @, pbuf ARM GAS /tmp/ccJhhmLc.s page 638 10947 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:104: } 104:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10948 .loc 21 104 1 view .LVU2738 10949 000e 5DF8044B ldr r4, [sp], #4 @, 10950 .LCFI81: 10951 .cfi_restore 4 10952 .cfi_def_cfa_offset 0 10953 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:91: pdev 91:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].pbuffer = pbuf; 10954 .loc 21 91 31 view .LVU2739 10955 0012 4361 str r3, [r0, #20] @ len, pdev_1(D)->ep_in[0].total_length 10956 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:97: pdev 97:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #endif /* USBD_AVOID_PACKET_SPLIT_MPS */ 10957 .loc 21 97 29 view .LVU2740 10958 0014 8361 str r3, [r0, #24] @ len, pdev_1(D)->ep_in[0].rem_length 10959 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c:101: (vo 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10960 .loc 21 101 9 view .LVU2741 10961 0016 0021 movs r1, #0 @, 10962 .LVL596: 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10963 .loc 21 101 9 is_stmt 0 view .LVU2742 10964 0018 FFF7FEBF b USBD_LL_Transmit.isra.0 @ 10965 .LVL597: 101:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 10966 .loc 21 101 9 view .LVU2743 10967 .cfi_endproc 10968 .LFE188: 10969 .size USBD_CtlSendData.isra.0, .-USBD_CtlSendData.isra.0 10970 .section .text.USBD_ClrClassConfig.isra.0,"ax",%progbits 10971 .align 1 10972 .global USBD_ClrClassConfig.isra.0 10973 .hidden USBD_ClrClassConfig.isra.0 10974 .syntax unified 10975 .thumb 10976 .thumb_func 10977 .type USBD_ClrClassConfig.isra.0, %function 10978 USBD_ClrClassConfig.isra.0: 10979 .LVL598: 10980 .LFB190: 505:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 10981 .loc 18 505 20 is_stmt 1 view -0 10982 .cfi_startproc 10983 @ args = 0, pretend = 0, frame = 0 10984 @ frame_needed = 0, uses_anonymous_args = 0 10985 @ link register save eliminated. 10986 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:529: if ( 529:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 10987 .loc 18 529 22 view .LVU2745 10988 0000 D0F8B832 ldr r3, [r0, #696] @ pdev_1(D)->pClass[0], pdev_1(D)->pClass[0] 10989 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c:529: if ( 529:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { 10990 .loc 18 529 7 view .LVU2746 10991 0004 5B68 ldr r3, [r3, #4] @ _2->DeInit, _2->DeInit 10992 0006 1847 bx r3 @ _2->DeInit 10993 .LVL599: 529:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { ARM GAS /tmp/ccJhhmLc.s page 639 10994 .loc 18 529 7 is_stmt 0 view .LVU2747 10995 .cfi_endproc 10996 .LFE190: 10997 .size USBD_ClrClassConfig.isra.0, .-USBD_ClrClassConfig.isra.0 10998 .section .text.USB_EP0_OutStart.isra.0,"ax",%progbits 10999 .align 1 11000 .global USB_EP0_OutStart.isra.0 11001 .hidden USB_EP0_OutStart.isra.0 11002 .syntax unified 11003 .thumb 11004 .thumb_func 11005 .type USB_EP0_OutStart.isra.0, %function 11006 USB_EP0_OutStart.isra.0: 11007 .LVL600: 11008 .LFB192: 1304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Activate EP0 for Setup transactions 1308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateSetup(USB_OTG_GlobalTypeDef *USBx) 1312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* Set the MPS of the IN EP0 to 64 bytes */ 1316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_INEP(0U)->DIEPCTL &= ~USB_OTG_DIEPCTL_MPSIZ; 1317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK; 1319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /** 1324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @brief Prepare the EP0 to start the first control setup 1325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param USBx Selected device 1326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param dma USB dma enabled or disabled 1327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * This parameter can be one of these values: 1328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 0 : DMA feature not used 1329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * 1 : DMA feature used 1330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @param psetup pointer to setup packet 1331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** * @retval HAL status 1332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** */ 1333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** HAL_StatusTypeDef USB_EP0_OutStart(USB_OTG_GlobalTypeDef *USBx, uint8_t dma, uint8_t *psetup) 11009 .loc 2 1333 19 is_stmt 1 view -0 11010 .cfi_startproc 11011 @ args = 0, pretend = 0, frame = 0 11012 @ frame_needed = 0, uses_anonymous_args = 0 11013 .loc 2 1333 19 is_stmt 0 view .LVU2749 11014 0000 30B5 push {r4, r5, lr} @ 11015 .LCFI82: 11016 .cfi_def_cfa_offset 12 11017 .cfi_offset 4, -12 11018 .cfi_offset 5, -8 11019 .cfi_offset 14, -4 11020 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1336: uint3 ARM GAS /tmp/ccJhhmLc.s page 640 1334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t USBx_BASE = (uint32_t)USBx; 1336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 11021 .loc 2 1336 12 is_stmt 1 view .LVU2750 11022 0002 056C ldr r5, [r0, #64] @ gSNPSiD, MEM[(volatile uint32_t *)USBx_1(D) + 64B] 11023 .LVL601: 11024 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1338: if (g 1337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (gSNPSiD > USB_OTG_CORE_ID_300A) 11025 .loc 2 1338 6 view .LVU2751 11026 0004 104C ldr r4, .L815 @ tmp132, 11027 0006 A542 cmp r5, r4 @ gSNPSiD, tmp132 11028 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1340: if 1339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if ((USBx_OUTEP(0U)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 11029 .loc 2 1340 10 view .LVU2752 11030 0008 00F53063 add r3, r0, #2816 @ _30, USBx, 11031 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1338: if (g 1338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11032 .loc 2 1338 6 view .LVU2753 11033 000c 03D9 bls .L812 @, 11034 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1340: if 11035 .loc 2 1340 24 view .LVU2754 11036 000e D0F8004B ldr r4, [r0, #2816] @ _6, _30->DOEPCTL 11037 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1340: if 11038 .loc 2 1340 8 view .LVU2755 11039 0012 002C cmp r4, #0 @ _6, 11040 0014 16DB blt .L811 @, 11041 .L812: 11042 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1346: USBx_ 1341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ = 0U; 11043 .loc 2 1346 28 view .LVU2756 11044 0016 0024 movs r4, #0 @ tmp133, 11045 0018 1C61 str r4, [r3, #16] @ tmp133, _30->DOEPTSIZ 11046 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1347: USBx_ 1347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 11047 .loc 2 1347 17 view .LVU2757 11048 001a 1C69 ldr r4, [r3, #16] @ _10, _30->DOEPTSIZ 11049 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1347: USBx_ 11050 .loc 2 1347 28 view .LVU2758 11051 001c 44F40024 orr r4, r4, #524288 @ _11, _10, 11052 0020 1C61 str r4, [r3, #16] @ _11, _30->DOEPTSIZ 11053 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1348: USBx_ 1348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 11054 .loc 2 1348 17 view .LVU2759 11055 0022 1C69 ldr r4, [r3, #16] @ _12, _30->DOEPTSIZ 11056 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1348: USBx_ 11057 .loc 2 1348 28 view .LVU2760 11058 0024 44F01804 orr r4, r4, #24 @ _13, _12, 11059 0028 1C61 str r4, [r3, #16] @ _13, _30->DOEPTSIZ 11060 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1349: USBx_ 1349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; ARM GAS /tmp/ccJhhmLc.s page 641 11061 .loc 2 1349 17 view .LVU2761 11062 002a 1C69 ldr r4, [r3, #16] @ _14, _30->DOEPTSIZ 11063 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1351: if (d 1350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** if (dma == 1U) 11064 .loc 2 1351 6 view .LVU2762 11065 002c 0129 cmp r1, #1 @ dma, 11066 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1349: USBx_ 1349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 11067 .loc 2 1349 28 view .LVU2763 11068 002e 44F0C044 orr r4, r4, #1610612736 @ _15, _14, 11069 0032 1C61 str r4, [r3, #16] @ _15, _30->DOEPTSIZ 11070 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1353: USB 1352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 1353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPDMA = (uint32_t)psetup; 11071 .loc 2 1353 29 view .LVU2764 11072 0034 01BF itttt eq 11073 0036 5A61 streq r2, [r3, #20] @ psetup, _30->DOEPDMA 11074 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1355: USB 1354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** /* EP enable */ 1355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** USBx_OUTEP(0U)->DOEPCTL |= USB_OTG_DOEPCTL_EPENA | USB_OTG_DOEPCTL_USBAEP; 11075 .loc 2 1355 19 view .LVU2765 11076 0038 D0F8003B ldreq r3, [r0, #2816] @ _19, _30->DOEPCTL 11077 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1355: USB 11078 .loc 2 1355 29 view .LVU2766 11079 003c 43F08023 orreq r3, r3, #-2147450880 @ _20, _19, 11080 0040 C0F8003B streq r3, [r0, #2816] @ _20, _30->DOEPCTL 11081 .L811: 11082 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1359: } 1356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 1357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 1358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** return HAL_OK; 1359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 11083 .loc 2 1359 1 view .LVU2767 11084 0044 30BD pop {r4, r5, pc} @ 11085 .LVL602: 11086 .L816: 11087 .loc 2 1359 1 is_stmt 0 view .LVU2768 11088 0046 00BF .align 2 11089 .L815: 11090 0048 0A30544F .word 1330917386 11091 .cfi_endproc 11092 .LFE192: 11093 .size USB_EP0_OutStart.isra.0, .-USB_EP0_OutStart.isra.0 11094 .section .text.USBD_LL_StallEP.isra.0,"ax",%progbits 11095 .align 1 11096 .global USBD_LL_StallEP.isra.0 11097 .hidden USBD_LL_StallEP.isra.0 11098 .syntax unified 11099 .thumb 11100 .thumb_func 11101 .type USBD_LL_StallEP.isra.0, %function 11102 USBD_LL_StallEP.isra.0: 11103 .LVL603: 11104 .LFB194: 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 11105 .loc 13 522 20 is_stmt 1 view -0 ARM GAS /tmp/ccJhhmLc.s page 642 11106 .cfi_startproc 11107 @ args = 0, pretend = 0, frame = 0 11108 @ frame_needed = 0, uses_anonymous_args = 0 522:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** { 11109 .loc 13 522 20 is_stmt 0 view .LVU2770 11110 0000 70B5 push {r4, r5, r6, lr} @ 11111 .LCFI83: 11112 .cfi_def_cfa_offset 16 11113 .cfi_offset 4, -16 11114 .cfi_offset 5, -12 11115 .cfi_offset 6, -8 11116 .cfi_offset 14, -4 11117 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:527: hal_status = HAL_PCD_EP_ 527:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 11118 .loc 13 527 40 is_stmt 1 view .LVU2771 11119 0002 D0F8C842 ldr r4, [r0, #712] @ _2, pdev_1(D)->pData 11120 .LVL604: 11121 .LBB843: 11122 .LBB844: 11123 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1888: if ( 1888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 11124 .loc 14 1888 6 view .LVU2772 11125 0006 6368 ldr r3, [r4, #4] @ MEM[(struct PCD_HandleTypeDef *)_2].Init.dev_endpoints, MEM[(struct PCD_HandleT 11126 0008 01F00F05 and r5, r1, #15 @ _8, ep_addr, 11127 000c 9D42 cmp r5, r3 @ _8, MEM[(struct PCD_HandleTypeDef *)_2].Init.dev_endpoints 11128 000e 34D8 bhi .L817 @, 11129 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1893: if ( 1893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 11130 .loc 14 1893 6 view .LVU2773 11131 0010 11F0800F tst r1, #128 @ ep_addr, 11132 0014 4FF01C03 mov r3, #28 @ tmp193, 11133 0018 30D0 beq .L820 @, 11134 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1895: ep 1895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 11135 .loc 14 1895 8 view .LVU2774 11136 001a 6B43 muls r3, r5, r3 @ _30, _8 11137 001c 03F13C02 add r2, r3, #60 @ _40, _30, 11138 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1896: ep 1896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 11139 .loc 14 1896 15 view .LVU2775 11140 0020 2344 add r3, r3, r4 @ tmp166, _2 11141 0022 0121 movs r1, #1 @ tmp168, 11142 .LVL605: 11143 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1895: ep 1895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 1U; 11144 .loc 14 1895 8 view .LVU2776 11145 0024 2244 add r2, r2, r4 @ ep, _2 11146 .LVL606: 11147 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1896: ep 1896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 11148 .loc 14 1896 15 view .LVU2777 11149 0026 83F83D10 strb r1, [r3, #61] @ tmp168, MEM [(struct PCD_EPTypeDef *)_2].IN_ep[_9] 11150 .L821: 11151 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1904: ep-> 1904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK; 11152 .loc 14 1904 16 view .LVU2778 11153 002a 0123 movs r3, #1 @ tmp179, ARM GAS /tmp/ccJhhmLc.s page 643 11154 002c 9370 strb r3, [r2, #2] @ tmp179, ep_15->is_stall 11155 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1905: ep-> 1905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 11156 .loc 14 1905 11 view .LVU2779 11157 002e 1570 strb r5, [r2] @ _8, ep_15->num 11158 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1907: __HA 1907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 11159 .loc 14 1907 3 view .LVU2780 11160 0030 94F8BC13 ldrb r1, [r4, #956] @ zero_extendqisi2 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, MEM[(struct PCD 11161 0034 9942 cmp r1, r3 @ MEM[(struct PCD_HandleTypeDef *)_2].Lock, 11162 0036 20D0 beq .L817 @, 11163 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1907: __HA 1907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 11164 .loc 14 1907 3 is_stmt 0 discriminator 2 view .LVU2781 11165 0038 84F8BC33 strb r3, [r4, #956] @ tmp179, MEM[(struct PCD_HandleTypeDef *)_2].Lock 11166 .LBB845: 11167 .LBB846: 11168 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1053: uint3 1053:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** 11169 .loc 2 1053 12 is_stmt 1 view .LVU2782 11170 003c 1178 ldrb r1, [r2] @ zero_extendqisi2 @ epnum, MEM[(unsigned char *)ep_15] 11171 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1055: if (e 1055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11172 .loc 2 1055 6 view .LVU2783 11173 003e 5278 ldrb r2, [r2, #1] @ zero_extendqisi2 @ MEM[(unsigned char *)ep_15 + 1B], MEM[(unsigned char *)ep_1 11174 .LVL607: 1055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11175 .loc 2 1055 6 is_stmt 0 view .LVU2784 11176 .LBE846: 11177 .LBE845: 11178 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1909: (voi 1909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 11179 .loc 14 1909 28 is_stmt 1 view .LVU2785 11180 0040 2068 ldr r0, [r4] @ _17, MEM[(struct PCD_HandleTypeDef *)_2].Instance 11181 .LVL608: 11182 .LBB848: 11183 .LBB847: 11184 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1055: if (e 1055:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11185 .loc 2 1055 6 view .LVU2786 11186 0042 012A cmp r2, #1 @ MEM[(unsigned char *)ep_15 + 1B], 11187 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1057: if 1057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11188 .loc 2 1057 11 view .LVU2787 11189 0044 0CBF ite eq 11190 0046 00F51062 addeq r2, r0, #2304 @ _5, _17, 11191 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1065: if 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11192 .loc 2 1065 11 view .LVU2788 11193 004a 00F53062 addne r2, r0, #2816 @ _22, _17, 11194 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1057: if 1057:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11195 .loc 2 1057 11 view .LVU2789 11196 004e 4B01 lsls r3, r1, #5 @ _28, epnum, 11197 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1065: if 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11198 .loc 2 1065 28 view .LVU2790 ARM GAS /tmp/ccJhhmLc.s page 644 11199 0050 D658 ldr r6, [r2, r3] @ _43,* _28 11200 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1065: if 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11201 .loc 2 1065 8 view .LVU2791 11202 0052 002E cmp r6, #0 @ _43, 11203 0054 04DB blt .L826 @, 11204 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1065: if 1065:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** { 11205 .loc 2 1065 70 discriminator 1 view .LVU2792 11206 0056 19B1 cbz r1, .L826 @ epnum, 11207 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1067: U 1067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 11208 .loc 2 1067 24 view .LVU2793 11209 0058 D158 ldr r1, [r2, r3] @ _45,* _28 11210 .LVL609: 11211 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1067: U 1067:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 11212 .loc 2 1067 34 view .LVU2794 11213 005a 21F08041 bic r1, r1, #1073741824 @ _46, _45, 11214 005e D150 str r1, [r2, r3] @ _46,* _28 11215 .L826: 11216 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1069: USB 1069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 11217 .loc 2 1069 22 view .LVU2795 11218 0060 D158 ldr r1, [r2, r3] @ _47,* _28 11219 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c:1069: USB 1069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 11220 .loc 2 1069 32 view .LVU2796 11221 0062 41F40011 orr r1, r1, #2097152 @ _48, _47, 11222 0066 D150 str r1, [r2, r3] @ _48,* _28 11223 .LVL610: 1069:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c **** } 11224 .loc 2 1069 32 is_stmt 0 view .LVU2797 11225 .LBE847: 11226 .LBE848: 11227 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1911: if ( 1911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** { 11228 .loc 14 1911 6 is_stmt 1 view .LVU2798 11229 0068 25B9 cbnz r5, .L827 @ _8, 11230 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1913: (v 1913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 11231 .loc 14 1913 11 view .LVU2799 11232 006a 217C ldrb r1, [r4, #16] @ zero_extendqisi2 @, MEM[(struct PCD_HandleTypeDef *)_2].Init.dma_enable 11233 006c 04F57172 add r2, r4, #964 @, _2, 11234 0070 FFF7FEFF bl USB_EP0_OutStart.isra.0 @ 11235 .LVL611: 11236 .L827: 11237 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1916: __HA 1916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 11238 .loc 14 1916 3 view .LVU2800 11239 0074 0023 movs r3, #0 @ tmp191, 11240 0076 84F8BC33 strb r3, [r4, #956] @ tmp191, MEM[(struct PCD_HandleTypeDef *)_2].Lock 11241 .LVL612: 11242 .L817: 1916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** 11243 .loc 14 1916 3 is_stmt 0 view .LVU2801 11244 .LBE844: ARM GAS /tmp/ccJhhmLc.s page 645 11245 .LBE843: 11246 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c:532: } 532:/workspaces/edgetx/radio/src/targets/common/arm/stm32/usbd_conf.c **** 11247 .loc 13 532 1 is_stmt 1 view .LVU2802 11248 007a 70BD pop {r4, r5, r6, pc} @ 11249 .LVL613: 11250 .L820: 11251 .LBB850: 11252 .LBB849: 11253 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1900: ep 1900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 11254 .loc 14 1900 8 view .LVU2803 11255 007c 5943 muls r1, r3, r1 @ _66, tmp193 11256 .LVL614: 1900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 11257 .loc 14 1900 8 is_stmt 0 view .LVU2804 11258 007e 01F5FE72 add r2, r1, #508 @ _4, _66, 11259 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1901: ep 1901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 11260 .loc 14 1901 15 is_stmt 1 view .LVU2805 11261 0082 2144 add r1, r1, r4 @ tmp175, _2 11262 0084 0023 movs r3, #0 @ tmp177, 11263 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1900: ep 1900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** ep->is_in = 0U; 11264 .loc 14 1900 8 view .LVU2806 11265 0086 2244 add r2, r2, r4 @ ep, _2 11266 .LVL615: 11267 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c:1901: ep 1901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pcd.c **** } 11268 .loc 14 1901 15 view .LVU2807 11269 0088 81F8FD31 strb r3, [r1, #509] @ tmp177, MEM [(struct PCD_EPTypeDef *)_2].OUT_ep[_ 11270 008c CDE7 b .L821 @ 11271 .LBE849: 11272 .LBE850: 11273 .cfi_endproc 11274 .LFE194: 11275 .size USBD_LL_StallEP.isra.0, .-USBD_LL_StallEP.isra.0 11276 .section .text.USBD_CtlError.isra.0,"ax",%progbits 11277 .align 1 11278 .global USBD_CtlError.isra.0 11279 .hidden USBD_CtlError.isra.0 11280 .syntax unified 11281 .thumb 11282 .thumb_func 11283 .type USBD_CtlError.isra.0, %function 11284 USBD_CtlError.isra.0: 11285 .LVL616: 11286 .LFB199: 979:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 11287 .loc 12 979 6 view -0 11288 .cfi_startproc 11289 @ args = 0, pretend = 0, frame = 0 11290 @ frame_needed = 0, uses_anonymous_args = 0 979:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 11291 .loc 12 979 6 is_stmt 0 view .LVU2809 11292 0000 10B5 push {r4, lr} @ 11293 .LCFI84: ARM GAS /tmp/ccJhhmLc.s page 646 11294 .cfi_def_cfa_offset 8 11295 .cfi_offset 4, -8 11296 .cfi_offset 14, -4 11297 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:983: (v 983:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, 0U); 11298 .loc 12 983 9 is_stmt 1 view .LVU2810 11299 0002 8021 movs r1, #128 @, 11300 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:979: void 979:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** { 11301 .loc 12 979 6 view .LVU2811 11302 0004 0446 mov r4, r0 @ pdev, tmp115 11303 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:983: (v 983:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (void)USBD_LL_StallEP(pdev, 0U); 11304 .loc 12 983 9 view .LVU2812 11305 0006 FFF7FEFF bl USBD_LL_StallEP.isra.0 @ 11306 .LVL617: 11307 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:984: (v 984:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 11308 .loc 12 984 9 view .LVU2813 11309 000a 2046 mov r0, r4 @, pdev 11310 000c 0021 movs r1, #0 @, 11311 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:985: } 985:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 11312 .loc 12 985 1 view .LVU2814 11313 000e BDE81040 pop {r4, lr} @ 11314 .LCFI85: 11315 .cfi_restore 14 11316 .cfi_restore 4 11317 .cfi_def_cfa_offset 0 11318 .LVL618: 11319 @ /workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c:984: (v 984:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 11320 .loc 12 984 9 view .LVU2815 11321 0012 FFF7FEBF b USBD_LL_StallEP.isra.0 @ 11322 .LVL619: 984:/workspaces/edgetx/radio/src/thirdparty/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** } 11323 .loc 12 984 9 is_stmt 0 view .LVU2816 11324 .cfi_endproc 11325 .LFE199: 11326 .size USBD_CtlError.isra.0, .-USBD_CtlError.isra.0 11327 .section .text.LL_USART_DeInit.isra.0,"ax",%progbits 11328 .align 1 11329 .global LL_USART_DeInit.isra.0 11330 .hidden LL_USART_DeInit.isra.0 11331 .syntax unified 11332 .thumb 11333 .thumb_func 11334 .type LL_USART_DeInit.isra.0, %function 11335 LL_USART_DeInit.isra.0: 11336 .LVL620: 11337 .LFB201: 11338 .file 22 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @file stm32f4xx_ll_usart.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @brief USART LL module driver. ARM GAS /tmp/ccJhhmLc.s page 647 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** ****************************************************************************** 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @attention 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** *

© Copyright (c) 2016 STMicroelectronics. 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * All rights reserved.

11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * This software component is licensed by ST under BSD 3-Clause license, 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * the "License"; You may not use this file except in compliance with the 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * License. You may obtain a copy of the License at: 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * opensource.org/licenses/BSD-3-Clause 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** ****************************************************************************** 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(USE_FULL_LL_DRIVER) 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Includes ------------------------------------------------------------------*/ 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #include "stm32f4xx_ll_usart.h" 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #include "stm32f4xx_ll_rcc.h" 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #include "stm32f4xx_ll_bus.h" 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #ifdef USE_FULL_ASSERT 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #include "stm32_assert.h" 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #else 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define assert_param(expr) ((void)0U) 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** @addtogroup STM32F4xx_LL_Driver 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @{ 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined (USART1) || defined (USART2) || defined (USART3) || defined (USART6) || defined (UART4) 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** @addtogroup USART_LL 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @{ 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Private types -------------------------------------------------------------*/ 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Private variables ---------------------------------------------------------*/ 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Private constants ---------------------------------------------------------*/ 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** @addtogroup USART_LL_Private_Constants 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @{ 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @} 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Private macros ------------------------------------------------------------*/ 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** @addtogroup USART_LL_Private_Macros 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @{ 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* __BAUDRATE__ The maximum Baud Rate is derived from the maximum clock available 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * divided by the smallest oversampling used on the USART (i.e. 8) */ 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_BAUDRATE(__BAUDRATE__) ((__BAUDRATE__) <= 12500000U) 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** ARM GAS /tmp/ccJhhmLc.s page 648 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* __VALUE__ In case of oversampling by 16 and 8, BRR content must be greater than or equal to 16d. 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_BRR_MIN(__VALUE__) ((__VALUE__) >= 16U) 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_DIRECTION(__VALUE__) (((__VALUE__) == LL_USART_DIRECTION_NONE) \ 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_DIRECTION_RX) \ 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_DIRECTION_TX) \ 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_DIRECTION_TX_RX)) 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_PARITY(__VALUE__) (((__VALUE__) == LL_USART_PARITY_NONE) \ 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_PARITY_EVEN) \ 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_PARITY_ODD)) 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_DATAWIDTH(__VALUE__) (((__VALUE__) == LL_USART_DATAWIDTH_8B) \ 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_DATAWIDTH_9B)) 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_OVERSAMPLING(__VALUE__) (((__VALUE__) == LL_USART_OVERSAMPLING_16) \ 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_OVERSAMPLING_8)) 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_LASTBITCLKOUTPUT(__VALUE__) (((__VALUE__) == LL_USART_LASTCLKPULSE_NO_OUTPUT) \ 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_LASTCLKPULSE_OUTPUT)) 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_CLOCKPHASE(__VALUE__) (((__VALUE__) == LL_USART_PHASE_1EDGE) \ 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_PHASE_2EDGE)) 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_CLOCKPOLARITY(__VALUE__) (((__VALUE__) == LL_USART_POLARITY_LOW) \ 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_POLARITY_HIGH)) 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_CLOCKOUTPUT(__VALUE__) (((__VALUE__) == LL_USART_CLOCK_DISABLE) \ 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_CLOCK_ENABLE)) 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_STOPBITS(__VALUE__) (((__VALUE__) == LL_USART_STOPBITS_0_5) \ 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_STOPBITS_1) \ 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_STOPBITS_1_5) \ 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_STOPBITS_2)) 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #define IS_LL_USART_HWCONTROL(__VALUE__) (((__VALUE__) == LL_USART_HWCONTROL_NONE) \ 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_HWCONTROL_RTS) \ 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_HWCONTROL_CTS) \ 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** || ((__VALUE__) == LL_USART_HWCONTROL_RTS_CTS)) 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @} 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Private function prototypes -----------------------------------------------*/ 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Exported functions --------------------------------------------------------*/ 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** @addtogroup USART_LL_Exported_Functions 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @{ 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** @addtogroup USART_LL_EF_Init 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @{ 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /** 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @brief De-initialize USART registers (Registers restored to their default values). ARM GAS /tmp/ccJhhmLc.s page 649 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @param USARTx USART Instance 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * @retval An ErrorStatus enumeration value: 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * - SUCCESS: USART registers are de-initialized 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** * - ERROR: USART registers are not de-initialized 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** */ 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** ErrorStatus LL_USART_DeInit(USART_TypeDef *USARTx) 11339 .loc 22 125 13 is_stmt 1 view -0 11340 .cfi_startproc 11341 @ args = 0, pretend = 0, frame = 0 11342 @ frame_needed = 0, uses_anonymous_args = 0 11343 .loc 22 125 13 is_stmt 0 view .LVU2818 11344 0000 08B5 push {r3, lr} @ 11345 .LCFI86: 11346 .cfi_def_cfa_offset 8 11347 .cfi_offset 3, -8 11348 .cfi_offset 14, -4 11349 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:132: if ( 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** ErrorStatus status = SUCCESS; 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Check the parameters */ 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** assert_param(IS_UART_INSTANCE(USARTx)); 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** if (USARTx == USART1) 11350 .loc 22 132 6 is_stmt 1 view .LVU2819 11351 0002 294B ldr r3, .L854 @ tmp115, 11352 0004 9842 cmp r0, r3 @ USARTx, tmp115 11353 0006 07D1 bne .L844 @, 11354 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:135: LL 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of USART clock */ 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB2_GRP1_ForceReset(LL_APB2_GRP1_PERIPH_USART1); 11355 .loc 22 135 5 view .LVU2820 11356 0008 1020 movs r0, #16 @, 11357 .LVL621: 11358 .loc 22 135 5 is_stmt 0 view .LVU2821 11359 000a FFF7FEFF bl LL_APB2_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 11360 .LVL622: 11361 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:138: LL 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of USART clock */ 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB2_GRP1_ReleaseReset(LL_APB2_GRP1_PERIPH_USART1); 11362 .loc 22 138 5 is_stmt 1 view .LVU2822 11363 000e 1020 movs r0, #16 @, 11364 .L852: 11365 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:234: } 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == USART2) 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of USART clock */ 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_USART2); 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of USART clock */ 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_USART2); 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(USART3) 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == USART3) ARM GAS /tmp/ccJhhmLc.s page 650 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of USART clock */ 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_USART3); 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of USART clock */ 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_USART3); 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif /* USART3 */ 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(USART6) 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == USART6) 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of USART clock */ 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB2_GRP1_ForceReset(LL_APB2_GRP1_PERIPH_USART6); 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of USART clock */ 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB2_GRP1_ReleaseReset(LL_APB2_GRP1_PERIPH_USART6); 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif /* USART6 */ 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(UART4) 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == UART4) 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of UART clock */ 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_UART4); 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of UART clock */ 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_UART4); 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif /* UART4 */ 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(UART5) 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == UART5) 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of UART clock */ 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_UART5); 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of UART clock */ 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_UART5); 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif /* UART5 */ 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(UART7) 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == UART7) 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of UART clock */ 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_UART7); 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of UART clock */ 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_UART7); 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif /* UART7 */ 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(UART8) 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == UART8) 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of UART clock */ 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_UART8); 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of UART clock */ 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_UART8); 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } ARM GAS /tmp/ccJhhmLc.s page 651 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif /* UART8 */ 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(UART9) 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == UART9) 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of UART clock */ 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB2_GRP1_ForceReset(LL_APB2_GRP1_PERIPH_UART9); 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of UART clock */ 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB2_GRP1_ReleaseReset(LL_APB2_GRP1_PERIPH_UART9); 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif /* UART9 */ 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #if defined(UART10) 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else if (USARTx == UART10) 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Force reset of UART clock */ 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB2_GRP1_ForceReset(LL_APB2_GRP1_PERIPH_UART10); 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** /* Release reset of UART clock */ 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** LL_APB2_GRP1_ReleaseReset(LL_APB2_GRP1_PERIPH_UART10); 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** #endif /* UART10 */ 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** else 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** status = ERROR; 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** return (status); 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11366 .loc 22 234 1 view .LVU2823 11367 0010 BDE80840 pop {r3, lr} @ 11368 .LCFI87: 11369 .cfi_remember_state 11370 .cfi_restore 14 11371 .cfi_restore 3 11372 .cfi_def_cfa_offset 0 11373 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:165: LL 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11374 .loc 22 165 5 view .LVU2824 11375 0014 FFF7FEBF b LL_APB2_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 @ 11376 .LVL623: 11377 .L844: 11378 .LCFI88: 11379 .cfi_restore_state 11380 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:140: else 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 11381 .loc 22 140 11 view .LVU2825 11382 0018 244B ldr r3, .L854+4 @ tmp116, 11383 001a 9842 cmp r0, r3 @ USARTx, tmp116 11384 001c 09D1 bne .L845 @, 11385 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:143: LL 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11386 .loc 22 143 5 view .LVU2826 11387 001e 4FF40030 mov r0, #131072 @, 11388 .LVL624: 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11389 .loc 22 143 5 is_stmt 0 view .LVU2827 11390 0022 FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ ARM GAS /tmp/ccJhhmLc.s page 652 11391 .LVL625: 11392 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:146: LL 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11393 .loc 22 146 5 is_stmt 1 view .LVU2828 11394 0026 4FF40030 mov r0, #131072 @, 11395 .L853: 11396 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:234: } 11397 .loc 22 234 1 view .LVU2829 11398 002a BDE80840 pop {r3, lr} @ 11399 .LCFI89: 11400 .cfi_remember_state 11401 .cfi_restore 14 11402 .cfi_restore 3 11403 .cfi_def_cfa_offset 0 11404 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:205: LL 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11405 .loc 22 205 5 view .LVU2830 11406 002e FFF7FEBF b LL_APB1_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 @ 11407 .LVL626: 11408 .L845: 11409 .LCFI90: 11410 .cfi_restore_state 11411 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:149: else 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 11412 .loc 22 149 11 view .LVU2831 11413 0032 1F4B ldr r3, .L854+8 @ tmp117, 11414 0034 9842 cmp r0, r3 @ USARTx, tmp117 11415 0036 06D1 bne .L846 @, 11416 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:152: LL 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11417 .loc 22 152 5 view .LVU2832 11418 0038 4FF48020 mov r0, #262144 @, 11419 .LVL627: 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11420 .loc 22 152 5 is_stmt 0 view .LVU2833 11421 003c FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 11422 .LVL628: 11423 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:155: LL 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11424 .loc 22 155 5 is_stmt 1 view .LVU2834 11425 0040 4FF48020 mov r0, #262144 @, 11426 0044 F1E7 b .L853 @ 11427 .LVL629: 11428 .L846: 11429 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:159: else 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 11430 .loc 22 159 11 view .LVU2835 11431 0046 1B4B ldr r3, .L854+12 @ tmp118, 11432 0048 9842 cmp r0, r3 @ USARTx, tmp118 11433 004a 04D1 bne .L847 @, 11434 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:162: LL 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11435 .loc 22 162 5 view .LVU2836 11436 004c 2020 movs r0, #32 @, 11437 .LVL630: 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11438 .loc 22 162 5 is_stmt 0 view .LVU2837 ARM GAS /tmp/ccJhhmLc.s page 653 11439 004e FFF7FEFF bl LL_APB2_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 11440 .LVL631: 11441 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:165: LL 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11442 .loc 22 165 5 is_stmt 1 view .LVU2838 11443 0052 2020 movs r0, #32 @, 11444 0054 DCE7 b .L852 @ 11445 .LVL632: 11446 .L847: 11447 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:169: else 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 11448 .loc 22 169 11 view .LVU2839 11449 0056 184B ldr r3, .L854+16 @ tmp119, 11450 0058 9842 cmp r0, r3 @ USARTx, tmp119 11451 005a 06D1 bne .L848 @, 11452 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:172: LL 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11453 .loc 22 172 5 view .LVU2840 11454 005c 4FF40020 mov r0, #524288 @, 11455 .LVL633: 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11456 .loc 22 172 5 is_stmt 0 view .LVU2841 11457 0060 FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 11458 .LVL634: 11459 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:175: LL 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11460 .loc 22 175 5 is_stmt 1 view .LVU2842 11461 0064 4FF40020 mov r0, #524288 @, 11462 0068 DFE7 b .L853 @ 11463 .LVL635: 11464 .L848: 11465 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:179: else 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 11466 .loc 22 179 11 view .LVU2843 11467 006a 144B ldr r3, .L854+20 @ tmp120, 11468 006c 9842 cmp r0, r3 @ USARTx, tmp120 11469 006e 06D1 bne .L849 @, 11470 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:182: LL 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11471 .loc 22 182 5 view .LVU2844 11472 0070 4FF48010 mov r0, #1048576 @, 11473 .LVL636: 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11474 .loc 22 182 5 is_stmt 0 view .LVU2845 11475 0074 FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 11476 .LVL637: 11477 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:185: LL 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11478 .loc 22 185 5 is_stmt 1 view .LVU2846 11479 0078 4FF48010 mov r0, #1048576 @, 11480 007c D5E7 b .L853 @ 11481 .LVL638: 11482 .L849: 11483 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:189: else 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 11484 .loc 22 189 11 view .LVU2847 11485 007e 104B ldr r3, .L854+24 @ tmp121, ARM GAS /tmp/ccJhhmLc.s page 654 11486 0080 9842 cmp r0, r3 @ USARTx, tmp121 11487 0082 06D1 bne .L850 @, 11488 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:192: LL 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11489 .loc 22 192 5 view .LVU2848 11490 0084 4FF08040 mov r0, #1073741824 @, 11491 .LVL639: 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11492 .loc 22 192 5 is_stmt 0 view .LVU2849 11493 0088 FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 11494 .LVL640: 11495 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:195: LL 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11496 .loc 22 195 5 is_stmt 1 view .LVU2850 11497 008c 4FF08040 mov r0, #1073741824 @, 11498 0090 CBE7 b .L853 @ 11499 .LVL641: 11500 .L850: 11501 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:199: else 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** { 11502 .loc 22 199 11 view .LVU2851 11503 0092 0C4B ldr r3, .L854+28 @ tmp122, 11504 0094 9842 cmp r0, r3 @ USARTx, tmp122 11505 0096 06D1 bne .L843 @, 11506 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:202: LL 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11507 .loc 22 202 5 view .LVU2852 11508 0098 4FF00040 mov r0, #-2147483648 @, 11509 .LVL642: 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** 11510 .loc 22 202 5 is_stmt 0 view .LVU2853 11511 009c FFF7FEFF bl LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 @ 11512 .LVL643: 11513 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:205: LL 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c **** } 11514 .loc 22 205 5 is_stmt 1 view .LVU2854 11515 00a0 4FF00040 mov r0, #-2147483648 @, 11516 00a4 C1E7 b .L853 @ 11517 .LVL644: 11518 .L843: 11519 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usart.c:234: } 11520 .loc 22 234 1 view .LVU2855 11521 00a6 08BD pop {r3, pc} @ 11522 .L855: 11523 .align 2 11524 .L854: 11525 00a8 00100140 .word 1073811456 11526 00ac 00440040 .word 1073759232 11527 00b0 00480040 .word 1073760256 11528 00b4 00140140 .word 1073812480 11529 00b8 004C0040 .word 1073761280 11530 00bc 00500040 .word 1073762304 11531 00c0 00780040 .word 1073772544 11532 00c4 007C0040 .word 1073773568 11533 .cfi_endproc 11534 .LFE201: 11535 .size LL_USART_DeInit.isra.0, .-LL_USART_DeInit.isra.0 ARM GAS /tmp/ccJhhmLc.s page 655 11536 .section .text._Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t,"ax",%progbits 11537 .align 1 11538 .global _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t 11539 .syntax unified 11540 .thumb 11541 .thumb_func 11542 .type _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t, %function 11543 _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t: 11544 .LVL645: 11545 .LFB202: 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** auto dev = i2c_get_device(bus); 11546 .loc 3 473 1 view -0 11547 .cfi_startproc 11548 @ args = 0, pretend = 0, frame = 0 11549 @ frame_needed = 0, uses_anonymous_args = 0 474:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev) return -1; 11550 .loc 3 474 3 view .LVU2857 11551 .LBB873: 11552 .LBI873: 48:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11553 .loc 3 48 26 view .LVU2858 11554 .LBB874: 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus]; 11555 .loc 3 50 3 view .LVU2859 11556 0000 0128 cmp r0, #1 @ bus, 11557 .LBE874: 11558 .LBE873: 11559 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:473: { 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** auto dev = i2c_get_device(bus); 11560 .loc 3 473 1 is_stmt 0 view .LVU2860 11561 0002 2DE9F041 push {r4, r5, r6, r7, r8, lr} @ 11562 .LCFI91: 11563 .cfi_def_cfa_offset 24 11564 .cfi_offset 4, -24 11565 .cfi_offset 5, -20 11566 .cfi_offset 6, -16 11567 .cfi_offset 7, -12 11568 .cfi_offset 8, -8 11569 .cfi_offset 14, -4 11570 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:473: { 473:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** auto dev = i2c_get_device(bus); 11571 .loc 3 473 1 view .LVU2861 11572 0006 0446 mov r4, r0 @ bus, tmp453 11573 0008 1646 mov r6, r2 @ hw_def, tmp455 11574 .LBB880: 11575 .LBB875: 11576 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:50: if (bus >= MAX_I 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus]; 11577 .loc 3 50 3 view .LVU2862 11578 000a 03D9 bls .L857 @, 11579 .LVL646: 11580 .L875: 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus]; 11581 .loc 3 50 3 view .LVU2863 11582 .LBE875: 11583 .LBE880: 11584 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:475: if (!dev) retur ARM GAS /tmp/ccJhhmLc.s page 656 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11585 .loc 3 475 21 discriminator 1 view .LVU2864 11586 000c 4FF0FF30 mov r0, #-1 @ , 11587 .L856: 11588 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:543: } 543:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11589 .loc 3 543 1 view .LVU2865 11590 0010 BDE8F081 pop {r4, r5, r6, r7, r8, pc} @ 11591 .LVL647: 11592 .L857: 11593 .LBB881: 11594 .LBB876: 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11595 .loc 3 51 3 is_stmt 1 view .LVU2866 11596 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:51: return &_i2c_dev 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11597 .loc 3 51 24 is_stmt 0 view .LVU2867 11598 0014 9B4D ldr r5, .L891 @ tmp219, 11599 .LBE876: 11600 .LBE881: 11601 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:477: if (!dev->hw_de 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->hw_def = hw_def; 11602 .loc 3 477 13 view .LVU2868 11603 0016 A822 movs r2, #168 @ tmp222, 11604 .LVL648: 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->hw_def = hw_def; 11605 .loc 3 477 13 view .LVU2869 11606 0018 4243 muls r2, r0, r2 @ tmp221, bus 11607 .LBB882: 11608 .LBB877: 11609 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:51: return &_i2c_dev 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11610 .loc 3 51 24 view .LVU2870 11611 001a 4342 rsbs r3, r0, #0 @ tmp217, bus 11612 .LBE877: 11613 .LBE882: 11614 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:477: if (!dev->hw_de 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->hw_def = hw_def; 11615 .loc 3 477 13 view .LVU2871 11616 001c A818 adds r0, r5, r2 @ tmp223, tmp219, tmp221 11617 .LVL649: 11618 .LBB883: 11619 .LBB878: 11620 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:51: return &_i2c_dev 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11621 .loc 3 51 24 view .LVU2872 11622 001e 03F0A803 and r3, r3, #168 @ _108, tmp217, 11623 .LBE878: 11624 .LBE883: 11625 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:477: if (!dev->hw_de 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->hw_def = hw_def; 11626 .loc 3 477 3 view .LVU2873 11627 0022 476D ldr r7, [r0, #84] @ MEM [(struct stm32_i2c_device *)&_i2c_devs][_14]. 11628 .LBB884: 11629 .LBB879: 11630 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:51: return &_i2c_dev 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } ARM GAS /tmp/ccJhhmLc.s page 657 11631 .loc 3 51 24 view .LVU2874 11632 0024 2B44 add r3, r3, r5 @ _35, tmp219 11633 .LVL650: 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11634 .loc 3 51 24 view .LVU2875 11635 .LBE879: 11636 .LBE884: 475:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11637 .loc 3 475 3 is_stmt 1 view .LVU2876 477:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->hw_def = hw_def; 11638 .loc 3 477 3 view .LVU2877 11639 0026 17B9 cbnz r7, .L859 @ MEM [(struct stm32_i2c_device *)&_i2c_devs][_14].hw_ 478:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->handle.Instance = hw_def->I2Cx; 11640 .loc 3 478 5 view .LVU2878 11641 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:478: dev->hw_def = 478:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** dev->handle.Instance = hw_def->I2Cx; 11642 .loc 3 478 17 is_stmt 0 view .LVU2879 11643 0028 4665 str r6, [r0, #84] @ hw_def, MEM [(struct stm32_i2c_device *)&_i2c_dev 479:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11644 .loc 3 479 5 is_stmt 1 view .LVU2880 11645 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:479: dev->handle.I 479:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11646 .loc 3 479 36 is_stmt 0 view .LVU2881 11647 002a 3068 ldr r0, [r6] @ _2, hw_def_15(D)->I2Cx 11648 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:479: dev->handle.I 479:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11649 .loc 3 479 26 view .LVU2882 11650 002c A850 str r0, [r5, r2] @ _2, MEM [(struct stm32_i2c_device *)&_i2c_devs][_1 11651 .L859: 482:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_InitTypeDef& init = h->Init; 11652 .loc 3 482 3 is_stmt 1 view .LVU2883 11653 .LVL651: 483:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11654 .loc 3 483 3 view .LVU2884 494:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (init.ClockSpeed != clock_rate) return -1; 11655 .loc 3 494 3 view .LVU2885 11656 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:494: if (init.ClockS 494:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (init.ClockSpeed != clock_rate) return -1; 11657 .loc 3 494 12 is_stmt 0 view .LVU2886 11658 002e 5868 ldr r0, [r3, #4] @ _3, MEM[(struct I2C_InitTypeDef &)_35 + 4].ClockSpeed 11659 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:494: if (init.ClockS 494:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (init.ClockSpeed != clock_rate) return -1; 11660 .loc 3 494 3 view .LVU2887 11661 0030 20B1 cbz r0, .L860 @ _3, 495:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return 0; 11662 .loc 3 495 5 is_stmt 1 view .LVU2888 11663 0032 401A subs r0, r0, r1 @ , _3, clock_rate 11664 0034 18BF it ne 11665 0036 4FF0FF30 movne r0, #-1 @ , 11666 003a E9E7 b .L856 @ 11667 .L860: 498:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.DutyCycle = I2C_DUTYCYCLE_16_9; 11668 .loc 3 498 3 view .LVU2889 11669 .LBB885: 11670 .LBB886: 11671 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:440: gpio_set(hw_def 440:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SCL_GPIO, GPIO_OD_PU, GPIO_PIN_SPEED_MEDIUM); ARM GAS /tmp/ccJhhmLc.s page 658 11672 .loc 3 440 20 is_stmt 0 view .LVU2890 11673 003c 7768 ldr r7, [r6, #4] @ _57, hw_def_15(D)->SCL_GPIO 11674 .LBE886: 11675 .LBE885: 11676 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:498: init.ClockSpeed 498:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.DutyCycle = I2C_DUTYCYCLE_16_9; 11677 .loc 3 498 19 view .LVU2891 11678 003e 5960 str r1, [r3, #4] @ clock_rate, MEM[(struct I2C_InitTypeDef &)_35 + 4].ClockSpeed 499:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 11679 .loc 3 499 3 is_stmt 1 view .LVU2892 11680 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:499: init.DutyCycle 499:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 11681 .loc 3 499 18 is_stmt 0 view .LVU2893 11682 0040 4FF48042 mov r2, #16384 @ tmp237, 11683 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:502: init.OwnAddress 502:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; 11684 .loc 3 502 20 view .LVU2894 11685 0044 C3E90220 strd r2, r0, [r3, #8] @ tmp237, _3, _35, 503:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.DualAddressMode = I2C_DUALADDRESS_DISABLE; 11686 .loc 3 503 3 is_stmt 1 view .LVU2895 11687 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:504: init.DualAddres 504:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.OwnAddress2 = 0; 11688 .loc 3 504 24 is_stmt 0 view .LVU2896 11689 0048 C3E90420 strd r2, r0, [r3, #16] @ tmp237, _3, _35, 505:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.GeneralCallMode = I2C_GENERALCALL_DISABLE; 11690 .loc 3 505 3 is_stmt 1 view .LVU2897 11691 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:506: init.GeneralCal 506:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** init.NoStretchMode = I2C_NOSTRETCH_DISABLE; 11692 .loc 3 506 24 is_stmt 0 view .LVU2898 11693 004c C3E90600 strd r0, r0, [r3, #24] @ _3, _3, _35, 507:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11694 .loc 3 507 3 is_stmt 1 view .LVU2899 11695 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:507: init.NoStretchM 507:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11696 .loc 3 507 22 is_stmt 0 view .LVU2900 11697 0050 1862 str r0, [r3, #32] @ _3, MEM[(struct I2C_InitTypeDef &)_35 + 4].NoStretchMode 509:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspInit() I2C_GPIO misconfiguration"); 11698 .loc 3 509 3 is_stmt 1 view .LVU2901 11699 .LVL652: 11700 .LBB888: 11701 .LBI885: 438:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11702 .loc 3 438 12 view .LVU2902 11703 .LBB887: 11704 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:440: gpio_set(hw_def 440:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SCL_GPIO, GPIO_OD_PU, GPIO_PIN_SPEED_MEDIUM); 11705 .loc 3 440 11 is_stmt 0 view .LVU2903 11706 0052 3846 mov r0, r7 @, _57 11707 0054 FFF7FEFF bl _Z8gpio_setm @ 11708 .LVL653: 11709 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:441: gpio_init(hw_de 441:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_set_af(hw_def->SCL_GPIO, hw_def->GPIO_AF); 11710 .loc 3 441 12 view .LVU2904 11711 0058 0122 movs r2, #1 @, 11712 005a 3846 mov r0, r7 @, _57 11713 005c 1521 movs r1, #21 @, 11714 005e FFF7FEFF bl _Z9gpio_initmhh @ ARM GAS /tmp/ccJhhmLc.s page 659 11715 .LVL654: 11716 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:442: gpio_set_af(hw_ 442:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11717 .loc 3 442 14 view .LVU2905 11718 0062 96F80C80 ldrb r8, [r6, #12] @ zero_extendqisi2 @ _61, hw_def_15(D)->GPIO_AF 11719 0066 3846 mov r0, r7 @, _57 11720 0068 4146 mov r1, r8 @, _61 11721 006a FFF7FEFF bl _Z11gpio_set_afmh @ 11722 .LVL655: 11723 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:444: gpio_set(hw_def 444:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SDA_GPIO, GPIO_OD_PU, GPIO_PIN_SPEED_MEDIUM); 11724 .loc 3 444 20 view .LVU2906 11725 006e B768 ldr r7, [r6, #8] @ _62, hw_def_15(D)->SDA_GPIO 11726 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:444: gpio_set(hw_def 444:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SDA_GPIO, GPIO_OD_PU, GPIO_PIN_SPEED_MEDIUM); 11727 .loc 3 444 11 view .LVU2907 11728 0070 3846 mov r0, r7 @, _62 11729 0072 FFF7FEFF bl _Z8gpio_setm @ 11730 .LVL656: 11731 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:445: gpio_init(hw_de 445:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_set_af(hw_def->SDA_GPIO, hw_def->GPIO_AF); 11732 .loc 3 445 12 view .LVU2908 11733 0076 0122 movs r2, #1 @, 11734 0078 1521 movs r1, #21 @, 11735 007a 3846 mov r0, r7 @, _62 11736 007c FFF7FEFF bl _Z9gpio_initmhh @ 11737 .LVL657: 11738 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:446: gpio_set_af(hw_ 446:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 11739 .loc 3 446 14 view .LVU2909 11740 0080 4146 mov r1, r8 @, _61 11741 0082 3846 mov r0, r7 @, _62 11742 0084 FFF7FEFF bl _Z11gpio_set_afmh @ 11743 .LVL658: 11744 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:448: if (hw_def->set 448:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** hw_def->set_pwr(true); 11745 .loc 3 448 15 view .LVU2910 11746 0088 3369 ldr r3, [r6, #16] @ _67, hw_def_15(D)->set_pwr 11747 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:448: if (hw_def->set 448:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** hw_def->set_pwr(true); 11748 .loc 3 448 3 view .LVU2911 11749 008a 23B1 cbz r3, .L861 @ _67, 11750 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:449: hw_def->set_p 449:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** // Add some delay to leave enought time 11751 .loc 3 449 20 view .LVU2912 11752 008c 0120 movs r0, #1 @, 11753 008e 9847 blx r3 @ _67 11754 .LVL659: 11755 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:452: HAL_Delay(20) 452:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11756 .loc 3 452 14 view .LVU2913 11757 0090 1420 movs r0, #20 @, 11758 0092 FFF7FEFF bl HAL_Delay @ 11759 .LVL660: 11760 .L861: 452:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11761 .loc 3 452 14 view .LVU2914 ARM GAS /tmp/ccJhhmLc.s page 660 11762 .LBE887: 11763 .LBE888: 514:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspInit() I2C misconfiguration"); 11764 .loc 3 514 3 is_stmt 1 view .LVU2915 11765 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:514: if (i2c_enable_ 514:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspInit() I2C misconfiguration"); 11766 .loc 3 514 32 is_stmt 0 view .LVU2916 11767 0096 3368 ldr r3, [r6] @ _4, hw_def_15(D)->I2Cx 11768 .LVL661: 11769 .LBB889: 11770 .LBI889: 401:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 11771 .loc 3 401 12 is_stmt 1 view .LVU2917 11772 .LBB890: 404:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C1); 11773 .loc 3 404 3 view .LVU2918 11774 0098 7B4A ldr r2, .L891+4 @ tmp245, 11775 009a 9342 cmp r3, r2 @ _4, tmp245 11776 009c 36D1 bne .L862 @, 405:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C2) 11777 .loc 3 405 5 view .LVU2919 11778 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:405: LL_APB1_GRP1_ 405:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C2) 11779 .loc 3 405 29 is_stmt 0 view .LVU2920 11780 009e 4FF40010 mov r0, #2097152 @, 11781 .L888: 11782 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:409: LL_APB1_GRP1_ 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11783 .loc 3 409 29 view .LVU2921 11784 00a2 FFF7FEFF bl LL_APB1_GRP1_EnableClock.lto_priv.2.lto_priv.0 @ 11785 .LVL662: 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11786 .loc 3 409 29 view .LVU2922 11787 .LBE890: 11788 .LBE889: 519:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_Init() failed"); 11789 .loc 3 519 3 is_stmt 1 view .LVU2923 11790 .LBB892: 11791 .LBI892: 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11792 .loc 10 435 19 view .LVU2924 11793 .LBB893: 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** uint32_t pclk1; 11794 .loc 10 437 3 view .LVU2925 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11795 .loc 10 438 3 view .LVU2926 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11796 .loc 10 441 3 view .LVU2927 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_CLOCK_SPEED(hi2c->Init.ClockSpeed)); 11797 .loc 10 447 3 view .LVU2928 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_DUTY_CYCLE(hi2c->Init.DutyCycle)); 11798 .loc 10 448 3 view .LVU2929 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 11799 .loc 10 449 3 view .LVU2930 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); 11800 .loc 10 450 3 view .LVU2931 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); ARM GAS /tmp/ccJhhmLc.s page 661 11801 .loc 10 451 3 view .LVU2932 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); 11802 .loc 10 452 3 view .LVU2933 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); 11803 .loc 10 453 3 view .LVU2934 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); 11804 .loc 10 454 3 view .LVU2935 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11805 .loc 10 455 3 view .LVU2936 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11806 .loc 10 457 3 view .LVU2937 11807 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:457: if (h 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11808 .loc 10 457 11 is_stmt 0 view .LVU2938 11809 00a6 A823 movs r3, #168 @ tmp250, 11810 00a8 03FB0452 mla r2, r3, r4, r5 @ tmp251, tmp250, bus, tmp219 11811 00ac 92F83D10 ldrb r1, [r2, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 11812 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:457: if (h 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11813 .loc 10 457 6 view .LVU2939 11814 00b0 01F0FF00 and r0, r1, #255 @ _68, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 11815 00b4 09B9 cbnz r1, .L865 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14].ha 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11816 .loc 10 460 5 is_stmt 1 view .LVU2940 11817 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:460: hi2 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11818 .loc 10 460 16 is_stmt 0 view .LVU2941 11819 00b6 82F83C00 strb r0, [r2, #60] @ _68, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11820 .loc 10 484 5 is_stmt 1 view .LVU2942 11821 .L865: 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11822 .loc 10 488 3 view .LVU2943 11823 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:488: hi2c- 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11824 .loc 10 488 15 is_stmt 0 view .LVU2944 11825 00ba 6343 muls r3, r4, r3 @ tmp263, bus 11826 00bc E918 adds r1, r5, r3 @ tmp265, tmp219, tmp263 11827 00be 2422 movs r2, #36 @ tmp267, 11828 00c0 81F83D20 strb r2, [r1, #61] @ tmp267, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11829 .loc 10 491 3 is_stmt 1 view .LVU2945 11830 00c4 EA58 ldr r2, [r5, r3] @ _69, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 11831 .LBB894: 11832 .LBB895: 11833 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11834 .file 23 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @file stm32f4xx_hal_rcc.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief RCC HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * This file provides firmware functions to manage the following 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * functionalities of the Reset and Clock Control (RCC) peripheral: 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * + Initialization and de-initialization functions 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * + Peripheral Control functions 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * ARM GAS /tmp/ccJhhmLc.s page 662 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** @verbatim 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ============================================================================== 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ##### RCC specific features ##### 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ============================================================================== 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** [..] 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** After reset the device is running from Internal High Speed oscillator 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (HSI 16MHz) with Flash 0 wait state, Flash prefetch buffer, D-Cache 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** and I-Cache are disabled, and all peripherals are off except internal 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** SRAM, Flash and JTAG. 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) There is no prescaler on High speed (AHB) and Low speed (APB) busses; 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** all peripherals mapped on these busses are running at HSI speed. 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) The clock for all peripherals is switched off, except the SRAM and FLASH. 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) All GPIOs are in input floating state, except the JTAG pins which 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** are assigned to be used for debug purpose. 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** [..] 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** Once the device started from reset, the user application has to: 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) Configure the clock source to be used to drive the System clock 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (if the application needs higher frequency/performance) 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) Configure the System clock frequency and Flash settings 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) Configure the AHB and APB busses prescalers 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) Enable the clock for the peripheral(s) to be used 33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) Configure the clock source(s) for peripherals which clocks are not 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** derived from the System clock (I2S, RTC, ADC, USB OTG FS/SDIO/RNG) 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ##### RCC Limitations ##### 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ============================================================================== 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** [..] 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** A delay between an RCC peripheral clock enable and the effective peripheral 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** enabling should be taken into account in order to manage the peripheral read/write 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** from/to registers. 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) This delay depends on the peripheral mapping. 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) If peripheral is mapped on AHB: the delay is 2 AHB clock cycle 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** after the clock enable bit is set on the hardware register 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) If peripheral is mapped on APB: the delay is 2 APB clock cycle 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** after the clock enable bit is set on the hardware register 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** [..] 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** Implemented Workaround: 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (+) For AHB & APB peripherals, a dummy read to the peripheral register has been 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** inserted in each __HAL_RCC_PPP_CLK_ENABLE() macro. 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** @endverbatim 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ****************************************************************************** 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @attention 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** *

© Copyright (c) 2017 STMicroelectronics. 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * All rights reserved.

59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * This software component is licensed by ST under BSD 3-Clause license, 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * the "License"; You may not use this file except in compliance with the 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * License. You may obtain a copy of the License at: 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * opensource.org/licenses/BSD-3-Clause 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ****************************************************************************** 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ARM GAS /tmp/ccJhhmLc.s page 663 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Includes ------------------------------------------------------------------*/ 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #include "stm32f4xx_hal.h" 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** @addtogroup STM32F4xx_HAL_Driver 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @{ 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** @defgroup RCC RCC 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief RCC HAL module driver 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @{ 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #ifdef HAL_RCC_MODULE_ENABLED 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Private typedef -----------------------------------------------------------*/ 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Private define ------------------------------------------------------------*/ 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** @addtogroup RCC_Private_Constants 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @{ 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Private macro -------------------------------------------------------------*/ 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #define __MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #define MCO1_GPIO_PORT GPIOA 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #define MCO1_PIN GPIO_PIN_8 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #define __MCO2_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #define MCO2_GPIO_PORT GPIOC 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #define MCO2_PIN GPIO_PIN_9 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @} 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Private variables ---------------------------------------------------------*/ 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** @defgroup RCC_Private_Variables RCC Private Variables 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @{ 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @} 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/ 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Private functions ---------------------------------------------------------*/ 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions RCC Exported Functions 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @{ 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group1 Initialization and de-initialization functions 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Initialization and Configuration functions 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** @verbatim 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** =============================================================================== 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ##### Initialization and de-initialization functions ##### 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** =============================================================================== 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** [..] 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** This section provides functions allowing to configure the internal/external oscillators 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (HSE, HSI, LSE, LSI, PLL, CSS and MCO) and the System busses clocks (SYSCLK, AHB, APB1 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** and APB2). ARM GAS /tmp/ccJhhmLc.s page 664 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** [..] Internal/external clock and PLL configuration 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) HSI (high-speed internal), 16 MHz factory-trimmed RC used directly or through 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** the PLL as System clock source. 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) LSI (low-speed internal), 32 KHz low consumption RC used as IWDG and/or RTC 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** clock source. 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) HSE (high-speed external), 4 to 26 MHz crystal oscillator used directly or 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** through the PLL as System clock source. Can be used also as RTC clock source. 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) LSE (low-speed external), 32 KHz oscillator used as RTC clock source. 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) PLL (clocked by HSI or HSE), featuring two different output clocks: 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (++) The first output is used to generate the high speed system clock (up to 168 MHz) 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (++) The second output is used to generate the clock for the USB OTG FS (48 MHz), 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** the random analog generator (<=48 MHz) and the SDIO (<= 48 MHz). 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) CSS (Clock security system), once enable using the macro __HAL_RCC_CSS_ENABLE() 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** and if a HSE clock failure occurs(HSE used directly or through PLL as System 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** clock source), the System clocks automatically switched to HSI and an interrupt 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** is generated if enabled. The interrupt is linked to the Cortex-M4 NMI 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (Non-Maskable Interrupt) exception vector. 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) MCO1 (microcontroller clock output), used to output HSI, LSE, HSE or PLL 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** clock (through a configurable prescaler) on PA8 pin. 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) MCO2 (microcontroller clock output), used to output HSE, PLL, SYSCLK or PLLI2S 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** clock (through a configurable prescaler) on PC9 pin. 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** [..] System, AHB and APB busses clocks configuration 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) Several clock sources can be used to drive the System clock (SYSCLK): HSI, 157:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** HSE and PLL. 158:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** The AHB clock (HCLK) is derived from System clock through configurable 159:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** prescaler and used to clock the CPU, memory and peripherals mapped 160:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** on AHB bus (DMA, GPIO...). APB1 (PCLK1) and APB2 (PCLK2) clocks are derived 161:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** from AHB clock through configurable prescalers and used to clock 162:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** the peripherals mapped on these busses. You can use 163:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** "HAL_RCC_GetSysClockFreq()" function to retrieve the frequencies of these clocks. 164:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 165:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) For the STM32F405xx/07xx and STM32F415xx/17xx devices, the maximum 166:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** frequency of the SYSCLK and HCLK is 168 MHz, PCLK2 84 MHz and PCLK1 42 MHz. 167:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** Depending on the device voltage range, the maximum frequency should 168:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** be adapted accordingly (refer to the product datasheets for more details). 169:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 170:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) For the STM32F42xxx, STM32F43xxx, STM32F446xx, STM32F469xx and STM32F479xx devices, 171:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** the maximum frequency of the SYSCLK and HCLK is 180 MHz, PCLK2 90 MHz and PCLK1 45 MHz 172:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** Depending on the device voltage range, the maximum frequency should 173:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** be adapted accordingly (refer to the product datasheets for more details). 174:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 175:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) For the STM32F401xx, the maximum frequency of the SYSCLK and HCLK is 84 MHz, 176:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** PCLK2 84 MHz and PCLK1 42 MHz. 177:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** Depending on the device voltage range, the maximum frequency should 178:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** be adapted accordingly (refer to the product datasheets for more details). 179:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 180:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (#) For the STM32F41xxx, the maximum frequency of the SYSCLK and HCLK is 100 MHz, 181:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** PCLK2 100 MHz and PCLK1 50 MHz. ARM GAS /tmp/ccJhhmLc.s page 665 182:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** Depending on the device voltage range, the maximum frequency should 183:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** be adapted accordingly (refer to the product datasheets for more details). 184:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 185:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** @endverbatim 186:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @{ 187:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 188:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 189:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 190:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Resets the RCC clock configuration to the default reset state. 191:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note The default reset state of the clock configuration is given below: 192:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * - HSI ON and used as system clock source 193:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * - HSE and PLL OFF 194:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * - AHB, APB1 and APB2 prescaler set to 1. 195:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * - CSS, MCO1 and MCO2 OFF 196:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * - All interrupts disabled 197:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note This function doesn't modify the configuration of the 198:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * - Peripheral clocks 199:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * - LSI, LSE and RTC clocks 200:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval HAL status 201:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 202:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __weak HAL_StatusTypeDef HAL_RCC_DeInit(void) 203:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 204:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_OK; 205:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 206:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 207:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 208:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Initializes the RCC Oscillators according to the specified parameters in the 209:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * RCC_OscInitTypeDef. 210:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that 211:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * contains the configuration information for the RCC Oscillators. 212:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note The PLL is not disabled when used as system clock. 213:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not 214:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * supported by this API. User should request a transition to LSE Off 215:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * first and then LSE On or LSE Bypass. 216:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not 217:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * supported by this API. User should request a transition to HSE Off 218:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * first and then HSE On or HSE Bypass. 219:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval HAL status 220:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 221:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) 222:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 223:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** uint32_t tickstart, pll_config; 224:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 225:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check Null pointer */ 226:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(RCC_OscInitStruct == NULL) 227:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 228:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 229:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 230:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 231:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 232:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); 233:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*------------------------------- HSE Configuration ------------------------*/ 234:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) 235:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 236:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 237:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); 238:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* When the HSE is used as system clock or clock source for PLL in these cases HSE will not dis ARM GAS /tmp/ccJhhmLc.s page 666 239:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSE) ||\ 240:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) 241:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 242:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_ 243:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 244:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 245:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 246:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 247:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 248:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 249:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Set the new HSE configuration ---------------------------------------*/ 250:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); 251:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 252:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the HSE State */ 253:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((RCC_OscInitStruct->HSEState) != RCC_HSE_OFF) 254:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 255:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick */ 256:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 257:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 258:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till HSE is ready */ 259:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 260:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 261:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) 262:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 263:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 264:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 265:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 266:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 267:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 268:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 269:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick */ 270:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 271:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 272:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till HSE is bypassed or disabled */ 273:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 274:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 275:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) 276:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 277:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 278:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 279:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 280:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 281:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 282:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 283:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*----------------------------- HSI Configuration --------------------------*/ 284:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) 285:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 286:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 287:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); 288:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); 289:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 290:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock * 291:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSI) ||\ 292:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) 293:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 294:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* When HSI is used as system clock it will not disabled */ 295:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ ARM GAS /tmp/ccJhhmLc.s page 667 296:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 297:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 298:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 299:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Otherwise, just the calibration is allowed */ 300:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 301:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 302:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ 303:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 304:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 305:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 306:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 307:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 308:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the HSI State */ 309:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((RCC_OscInitStruct->HSIState)!= RCC_HSI_OFF) 310:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 311:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI). */ 312:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_HSI_ENABLE(); 313:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 314:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick*/ 315:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 316:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 317:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till HSI is ready */ 318:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 319:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 320:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) 321:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 322:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 323:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 324:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 325:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 326:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value. */ 327:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 328:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 329:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 330:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 331:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI). */ 332:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_HSI_DISABLE(); 333:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 334:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick*/ 335:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 336:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 337:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till HSI is ready */ 338:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 339:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 340:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) 341:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 342:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 343:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 344:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 345:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 346:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 347:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 348:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*------------------------------ LSI Configuration -------------------------*/ 349:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) 350:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 351:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 352:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); ARM GAS /tmp/ccJhhmLc.s page 668 353:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 354:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the LSI State */ 355:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((RCC_OscInitStruct->LSIState)!= RCC_LSI_OFF) 356:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 357:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Enable the Internal Low Speed oscillator (LSI). */ 358:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_LSI_ENABLE(); 359:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 360:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick*/ 361:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 362:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 363:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till LSI is ready */ 364:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 365:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 366:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) 367:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 368:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 369:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 370:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 371:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 372:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 373:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 374:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Disable the Internal Low Speed oscillator (LSI). */ 375:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_LSI_DISABLE(); 376:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 377:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick */ 378:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 379:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 380:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till LSI is ready */ 381:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 382:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 383:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) 384:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 385:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 386:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 387:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 388:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 389:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 390:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*------------------------------ LSE Configuration -------------------------*/ 391:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) 392:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 393:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** FlagStatus pwrclkchanged = RESET; 394:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 395:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 396:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); 397:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 398:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Update LSE configuration in Backup Domain control register */ 399:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Requires to enable write access to Backup Domain of necessary */ 400:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(__HAL_RCC_PWR_IS_CLK_DISABLED()) 401:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 402:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_ENABLE(); 403:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** pwrclkchanged = SET; 404:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 405:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 406:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) 407:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 408:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Enable write access to Backup domain */ 409:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** SET_BIT(PWR->CR, PWR_CR_DBP); ARM GAS /tmp/ccJhhmLc.s page 669 410:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 411:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait for Backup domain Write protection disable */ 412:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 413:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 414:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) 415:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 416:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 417:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 418:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 419:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 420:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 421:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 422:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 423:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Set the new LSE configuration -----------------------------------------*/ 424:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); 425:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the LSE State */ 426:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF) 427:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 428:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick*/ 429:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 430:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 431:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till LSE is ready */ 432:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 433:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 434:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) 435:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 436:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 437:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 438:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 439:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 440:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 441:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 442:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick */ 443:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 444:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 445:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till LSE is ready */ 446:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 447:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 448:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) 449:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 450:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 451:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 452:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 453:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 454:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 455:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Restore clock configuration if changed */ 456:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(pwrclkchanged == SET) 457:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 458:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_DISABLE(); 459:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 460:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 461:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*-------------------------------- PLL Configuration -----------------------*/ 462:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 463:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); 464:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) 465:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 466:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check if the PLL is used as system clock or not */ ARM GAS /tmp/ccJhhmLc.s page 670 467:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_PLL) 468:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 469:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) 470:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 471:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 472:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_PLLSOURCE(RCC_OscInitStruct->PLL.PLLSource)); 473:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_PLLM_VALUE(RCC_OscInitStruct->PLL.PLLM)); 474:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_PLLN_VALUE(RCC_OscInitStruct->PLL.PLLN)); 475:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_PLLP_VALUE(RCC_OscInitStruct->PLL.PLLP)); 476:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLQ)); 477:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 478:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Disable the main PLL. */ 479:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); 480:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 481:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick */ 482:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 483:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 484:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till PLL is ready */ 485:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 486:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 487:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) 488:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 489:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 490:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 492:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 493:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Configure the main PLL clock source, multiplication and division factors. */ 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** WRITE_REG(RCC->PLLCFGR, (RCC_OscInitStruct->PLL.PLLSource 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM 496:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos) 497:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (((RCC_OscInitStruct->PLL.PLLP >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Po 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos))); 499:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Enable the main PLL. */ 500:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_PLL_ENABLE(); 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 502:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick */ 503:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 504:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 505:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till PLL is ready */ 506:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 508:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) 509:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 510:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 512:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 513:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 514:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 516:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Disable the main PLL. */ 517:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); 518:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick */ 520:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 521:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 522:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Wait till PLL is ready */ 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) ARM GAS /tmp/ccJhhmLc.s page 671 524:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 525:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) 526:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 528:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 529:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 530:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 532:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 533:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check if there is a request to disable the PLL used as System clock source */ 535:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 540:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Do not return HAL_ERROR if request repeats the current configuration */ 542:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** pll_config = RCC->PLLCFGR; 543:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #if defined (RCC_PLLCFGR_PLLR) 544:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 545:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 546:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != (RCC_OscInitStruct->PLL.PLLM) << RCC_PLLCFGR 547:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFGR 548:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != (((RCC_OscInitStruct->PLL.PLLP >> 1U) - 1U)) 549:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_ 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLR) != (RCC_OscInitStruct->PLL.PLLR << RCC_PLLCFGR_ 551:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #else 552:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 554:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != (RCC_OscInitStruct->PLL.PLLM) << RCC_PLLCFGR 555:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFGR 556:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != (((RCC_OscInitStruct->PLL.PLLP >> 1U) - 1U)) 557:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_ 558:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #endif 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 560:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 562:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 563:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 565:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_OK; 566:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 567:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 568:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 569:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Initializes the CPU, AHB and APB busses clocks according to the specified 570:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * parameters in the RCC_ClkInitStruct. 571:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_OscInitTypeDef structure that 572:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * contains the configuration information for the RCC peripheral. 573:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @param FLatency FLASH Latency, this parameter depend on device selected 574:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 575:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * and updated by HAL_RCC_GetHCLKFreq() function called within this function 577:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 578:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note The HSI is used (enabled by hardware) as system clock source after 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * startup from Reset, wake-up from STOP and STANDBY mode, or in case 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * of failure of the HSE used directly or indirectly as system clock ARM GAS /tmp/ccJhhmLc.s page 672 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * (if the Clock Security System CSS is enabled). 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 583:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note A switch from one clock source to another occurs only if the target 584:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * clock source is ready (clock stable after startup delay or PLL locked). 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * If a clock source which is not yet ready is selected, the switch will 586:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * occur when the clock source will be ready. 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 588:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note Depending on the device voltage range, the software has to set correctly 589:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency 590:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * (for more details refer to section above "Initialization/de-initialization functions") 591:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval None 592:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 593:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) 594:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 595:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** uint32_t tickstart; 596:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 597:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check Null pointer */ 598:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(RCC_ClkInitStruct == NULL) 599:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 600:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 601:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 602:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 603:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 604:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType)); 605:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); 606:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 607:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* To correctly read data from FLASH memory, the number of wait states (LATENCY) 608:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** must be correctly programmed according to the frequency of the CPU clock 609:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (HCLK) and the supply voltage of the device. */ 610:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 611:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Increasing the number of wait states because of higher CPU frequency */ 612:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(FLatency > __HAL_FLASH_GET_LATENCY()) 613:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 614:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ 615:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 616:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 617:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 618:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 619:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(__HAL_FLASH_GET_LATENCY() != FLatency) 620:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 621:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 622:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 623:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 624:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 625:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*-------------------------- HCLK Configuration --------------------------*/ 626:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 627:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 628:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Set the highest APBx dividers in order to ensure that we do not go through 629:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** a non-spec phase whatever we decrease or increase HCLK. */ 630:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 631:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 632:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); 633:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 634:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 635:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 636:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 637:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3)); ARM GAS /tmp/ccJhhmLc.s page 673 638:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 639:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 640:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); 641:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 642:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 643:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 644:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*------------------------- SYSCLK Configuration ---------------------------*/ 645:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 646:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 647:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); 648:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 649:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* HSE is selected as System Clock Source */ 650:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 651:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 652:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the HSE ready flag */ 653:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 654:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 655:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 656:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 657:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 658:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* PLL is selected as System Clock Source */ 659:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else if((RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) || 660:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLRCLK)) 661:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 662:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the PLL ready flag */ 663:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 664:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 665:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 666:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 667:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 668:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* HSI is selected as System Clock Source */ 669:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 670:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 671:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the HSI ready flag */ 672:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 673:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 674:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 675:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 676:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 677:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 678:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); 679:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 680:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get Start Tick */ 681:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 682:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 683:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 684:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 685:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 686:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 687:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_TIMEOUT; 688:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 689:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 690:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 691:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 692:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Decreasing the number of wait states because of lower CPU frequency */ 693:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(FLatency < __HAL_FLASH_GET_LATENCY()) 694:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { ARM GAS /tmp/ccJhhmLc.s page 674 695:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ 696:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 697:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 698:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 699:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 700:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(__HAL_FLASH_GET_LATENCY() != FLatency) 701:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 702:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_ERROR; 703:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 704:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 705:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 706:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*-------------------------- PCLK1 Configuration ---------------------------*/ 707:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 708:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 709:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); 710:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 711:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 712:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 713:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /*-------------------------- PCLK2 Configuration ---------------------------*/ 714:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 715:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 716:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); 717:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3U)); 718:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 719:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 720:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 721:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CF 722:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 723:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Configure the source of time base considering new system clocks settings */ 724:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** HAL_InitTick (uwTickPrio); 725:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 726:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return HAL_OK; 727:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 728:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 729:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 730:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @} 731:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 732:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 733:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group2 Peripheral Control functions 734:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief RCC clocks control functions 735:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 736:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** @verbatim 737:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** =============================================================================== 738:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** ##### Peripheral Control functions ##### 739:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** =============================================================================== 740:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** [..] 741:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** This subsection provides a set of functions allowing to control the RCC Clocks 742:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** frequencies. 743:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 744:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** @endverbatim 745:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @{ 746:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 747:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 748:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 749:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Selects the clock source to output on MCO1 pin(PA8) or on MCO2 pin(PC9). 750:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note PA8/PC9 should be configured in alternate function mode. 751:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source. ARM GAS /tmp/ccJhhmLc.s page 675 752:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * This parameter can be one of the following values: 753:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO1: Clock source to output on MCO1 pin(PA8). 754:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO2: Clock source to output on MCO2 pin(PC9). 755:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output. 756:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * This parameter can be one of the following values: 757:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO1SOURCE_HSI: HSI clock selected as MCO1 source 758:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO1SOURCE_LSE: LSE clock selected as MCO1 source 759:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO1SOURCE_HSE: HSE clock selected as MCO1 source 760:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO1SOURCE_PLLCLK: main PLL clock selected as MCO1 source 761:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO2SOURCE_SYSCLK: System clock (SYSCLK) selected as MCO2 source 762:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO2SOURCE_PLLI2SCLK: PLLI2S clock selected as MCO2 source, available for a 763:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO2SOURCE_I2SCLK: I2SCLK clock selected as MCO2 source, available only for 764:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO2SOURCE_HSE: HSE clock selected as MCO2 source 765:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCO2SOURCE_PLLCLK: main PLL clock selected as MCO2 source 766:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCOx prescaler. 767:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * This parameter can be one of the following values: 768:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCODIV_1: no division applied to MCOx clock 769:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCODIV_2: division by 2 applied to MCOx clock 770:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCODIV_3: division by 3 applied to MCOx clock 771:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCODIV_4: division by 4 applied to MCOx clock 772:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @arg RCC_MCODIV_5: division by 5 applied to MCOx clock 773:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note For STM32F410Rx devices to output I2SCLK clock on MCO2 you should have 774:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * at last one of the SPI clocks enabled (SPI1, SPI2 or SPI5). 775:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval None 776:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 777:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv) 778:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 779:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitTypeDef GPIO_InitStruct; 780:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Check the parameters */ 781:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_MCO(RCC_MCOx)); 782:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_MCODIV(RCC_MCODiv)); 783:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* RCC_MCO1 */ 784:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(RCC_MCOx == RCC_MCO1) 785:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 786:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); 787:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 788:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* MCO1 Clock Enable */ 789:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __MCO1_CLK_ENABLE(); 790:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 791:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Configure the MCO1 pin in alternate function mode */ 792:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Pin = MCO1_PIN; 793:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 794:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 795:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 796:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Alternate = GPIO_AF0_MCO; 797:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** HAL_GPIO_Init(MCO1_GPIO_PORT, &GPIO_InitStruct); 798:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 799:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Mask MCO1 and MCO1PRE[2:0] bits then Select MCO1 clock source and prescaler */ 800:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCO1 | RCC_CFGR_MCO1PRE), (RCC_MCOSource | RCC_MCODiv)); 801:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 802:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* This RCC MCO1 enable feature is available only on STM32F410xx devices */ 803:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #if defined(RCC_CFGR_MCO1EN) 804:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_MCO1_ENABLE(); 805:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #endif /* RCC_CFGR_MCO1EN */ 806:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 807:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #if defined(RCC_CFGR_MCO2) 808:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else ARM GAS /tmp/ccJhhmLc.s page 676 809:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 810:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** assert_param(IS_RCC_MCO2SOURCE(RCC_MCOSource)); 811:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 812:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* MCO2 Clock Enable */ 813:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __MCO2_CLK_ENABLE(); 814:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 815:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Configure the MCO2 pin in alternate function mode */ 816:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Pin = MCO2_PIN; 817:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 818:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 819:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Pull = GPIO_NOPULL; 820:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** GPIO_InitStruct.Alternate = GPIO_AF0_MCO; 821:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** HAL_GPIO_Init(MCO2_GPIO_PORT, &GPIO_InitStruct); 822:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 823:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Mask MCO2 and MCO2PRE[2:0] bits then Select MCO2 clock source and prescaler */ 824:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCO2 | RCC_CFGR_MCO2PRE), (RCC_MCOSource | (RCC_MCODiv << 3U))) 825:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 826:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* This RCC MCO2 enable feature is available only on STM32F410Rx devices */ 827:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #if defined(RCC_CFGR_MCO2EN) 828:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __HAL_RCC_MCO2_ENABLE(); 829:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #endif /* RCC_CFGR_MCO2EN */ 830:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 831:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** #endif /* RCC_CFGR_MCO2 */ 832:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 833:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 834:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 835:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Enables the Clock Security System. 836:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note If a failure is detected on the HSE oscillator clock, this oscillator 837:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * is automatically disabled and an interrupt is generated to inform the 838:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * software about the failure (Clock Security System Interrupt, CSSI), 839:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * allowing the MCU to perform rescue operations. The CSSI is linked to 840:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * the Cortex-M4 NMI (Non-Maskable Interrupt) exception vector. 841:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval None 842:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 843:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** void HAL_RCC_EnableCSS(void) 844:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 845:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** *(__IO uint32_t *) RCC_CR_CSSON_BB = (uint32_t)ENABLE; 846:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 847:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 848:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 849:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Disables the Clock Security System. 850:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval None 851:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 852:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** void HAL_RCC_DisableCSS(void) 853:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 854:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** *(__IO uint32_t *) RCC_CR_CSSON_BB = (uint32_t)DISABLE; 855:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 856:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 857:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 858:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Returns the SYSCLK frequency 859:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 860:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note The system frequency computed by this function is not the real 861:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * frequency in the chip. It is calculated based on the predefined 862:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * constant and the selected clock source: 863:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note If SYSCLK source is HSI, function returns values based on HSI_VALUE(*) 864:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note If SYSCLK source is HSE, function returns values based on HSE_VALUE(**) 865:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note If SYSCLK source is PLL, function returns values based on HSE_VALUE(**) ARM GAS /tmp/ccJhhmLc.s page 677 866:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * or HSI_VALUE(*) multiplied/divided by the PLL factors. 867:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note (*) HSI_VALUE is a constant defined in stm32f4xx_hal_conf.h file (default value 868:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 16 MHz) but the real value may vary depending on the variations 869:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * in voltage and temperature. 870:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note (**) HSE_VALUE is a constant defined in stm32f4xx_hal_conf.h file (default value 871:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 25 MHz), user has to ensure that HSE_VALUE is same as the real 872:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * frequency of the crystal used. Otherwise, this function may 873:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * have wrong result. 874:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 875:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note The result of this function could be not correct when using fractional 876:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * value for HSE crystal. 877:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 878:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note This function can be used by the user application to compute the 879:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * baudrate for the communication peripherals or configure other parameters. 880:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 881:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note Each time SYSCLK changes, this function must be called to update the 882:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * right SYSCLK value. Otherwise, any configuration based on this function will be incorre 883:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 884:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 885:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval SYSCLK frequency 886:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 887:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** __weak uint32_t HAL_RCC_GetSysClockFreq(void) 888:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 889:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** uint32_t pllm = 0U, pllvco = 0U, pllp = 0U; 890:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** uint32_t sysclockfreq = 0U; 891:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 892:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get SYSCLK source -------------------------------------------------------*/ 893:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** switch (RCC->CFGR & RCC_CFGR_SWS) 894:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 895:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** case RCC_CFGR_SWS_HSI: /* HSI used as system clock source */ 896:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 897:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** sysclockfreq = HSI_VALUE; 898:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** break; 899:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 900:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** case RCC_CFGR_SWS_HSE: /* HSE used as system clock source */ 901:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 902:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** sysclockfreq = HSE_VALUE; 903:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** break; 904:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 905:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock source */ 906:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 907:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN 908:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** SYSCLK = PLL_VCO / PLLP */ 909:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; 910:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** if(__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLSOURCE_HSI) 911:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 912:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* HSE used as PLL clock source */ 913:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN 914:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 915:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** else 916:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 917:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* HSI used as PLL clock source */ 918:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** pllvco = (uint32_t) ((((uint64_t) HSI_VALUE * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN 919:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 920:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1U) *2U); 921:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 922:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** sysclockfreq = pllvco/pllp; ARM GAS /tmp/ccJhhmLc.s page 678 923:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** break; 924:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 925:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** default: 926:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 927:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** sysclockfreq = HSI_VALUE; 928:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** break; 929:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 930:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 931:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return sysclockfreq; 932:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 933:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 934:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 935:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Returns the HCLK frequency 936:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note Each time HCLK changes, this function must be called to update the 937:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * right HCLK value. Otherwise, any configuration based on this function will be incorrect 938:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * 939:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency 940:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * and updated within this function 941:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval HCLK frequency 942:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** uint32_t HAL_RCC_GetHCLKFreq(void) 944:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return SystemCoreClock; 946:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 947:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** 948:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /** 949:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @brief Returns the PCLK1 frequency 950:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @note Each time PCLK1 changes, this function must be called to update the 951:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * right PCLK1 value. Otherwise, any configuration based on this function will be incorrec 952:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** * @retval PCLK1 frequency 953:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** */ 954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK1Freq(void) 955:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 956:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 957:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE1)>> RCC_CFGR_PPRE1_Pos] 11835 .loc 23 957 49 is_stmt 0 discriminator 1 view .LVU2946 11836 00c6 7148 ldr r0, .L891+8 @ tmp275, 11837 .LBE895: 11838 .LBE894: 11839 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:491: __HAL 491:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11840 .loc 10 491 3 view .LVU2947 11841 00c8 1368 ldr r3, [r2] @ _70, _69->CR1 11842 00ca 23F00103 bic r3, r3, #1 @ _71, _70, 11843 00ce 1360 str r3, [r2] @ _71, _69->CR1 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_SWRST; 11844 .loc 10 494 3 is_stmt 1 view .LVU2948 11845 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:494: hi2c- 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_SWRST; 11846 .loc 10 494 17 is_stmt 0 view .LVU2949 11847 00d0 1368 ldr r3, [r2] @ _72, _69->CR1 11848 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:494: hi2c- 494:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_SWRST; 11849 .loc 10 494 23 view .LVU2950 11850 00d2 43F40043 orr r3, r3, #32768 @ _73, _72, 11851 00d6 1360 str r3, [r2] @ _73, _69->CR1 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** ARM GAS /tmp/ccJhhmLc.s page 679 11852 .loc 10 495 3 is_stmt 1 view .LVU2951 11853 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:495: hi2c- 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11854 .loc 10 495 17 is_stmt 0 view .LVU2952 11855 00d8 1368 ldr r3, [r2] @ _74, _69->CR1 11856 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:495: hi2c- 495:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11857 .loc 10 495 23 view .LVU2953 11858 00da 23F40043 bic r3, r3, #32768 @ _75, _74, 11859 00de 1360 str r3, [r2] @ _75, _69->CR1 498:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11860 .loc 10 498 3 is_stmt 1 view .LVU2954 11861 .LBB899: 11862 .LBI894: 954:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 11863 .loc 23 954 10 view .LVU2955 11864 .LBB898: 11865 .loc 23 957 3 view .LVU2956 11866 .LBB896: 11867 .LBI896: 943:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** { 11868 .loc 23 943 10 view .LVU2957 11869 .LBB897: 945:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c **** } 11870 .loc 23 945 3 view .LVU2958 11871 .LBE897: 11872 .LBE896: 11873 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11874 .loc 23 957 54 is_stmt 0 discriminator 1 view .LVU2959 11875 00e0 6B4B ldr r3, .L891+12 @ tmp273, 11876 00e2 9B68 ldr r3, [r3, #8] @ _152, MEM[(struct RCC_TypeDef *)1073887232B].CFGR 11877 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11878 .loc 23 957 78 discriminator 1 view .LVU2960 11879 00e4 C3F38223 ubfx r3, r3, #10, #3 @ _154, _152,, 11880 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11881 .loc 23 957 49 discriminator 1 view .LVU2961 11882 00e8 C05C ldrb r0, [r0, r3] @ zero_extendqisi2 @ _156, APBPrescTable[_154] 11883 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c:957: retur 11884 .loc 23 957 33 discriminator 1 view .LVU2962 11885 00ea 6A4B ldr r3, .L891+16 @ tmp274, 11886 00ec 1B68 ldr r3, [r3] @ SystemCoreClock, SystemCoreClock 11887 00ee C340 lsrs r3, r3, r0 @ _157, SystemCoreClock, _156 11888 .LVL663: 11889 .loc 23 957 33 discriminator 1 view .LVU2963 11890 .LBE898: 11891 .LBE899: 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11892 .loc 10 501 3 is_stmt 1 view .LVU2964 11893 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:501: if (I 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11894 .loc 10 501 7 is_stmt 0 view .LVU2965 11895 00f0 4868 ldr r0, [r1, #4] @ _77, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 11896 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:501: if (I 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11897 .loc 10 501 55 view .LVU2966 11898 00f2 6949 ldr r1, .L891+20 @ tmp285, 11899 00f4 8842 cmp r0, r1 @ _77, tmp285 ARM GAS /tmp/ccJhhmLc.s page 680 11900 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:501: if (I 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11901 .loc 10 501 55 discriminator 1 view .LVU2967 11902 00f6 94BF ite ls 11903 00f8 6849 ldrls r1, .L891+24 @ tmp288, 11904 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:501: if (I 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11905 .loc 10 501 55 discriminator 2 view .LVU2968 11906 00fa 6949 ldrhi r1, .L891+28 @ tmp291, 11907 00fc 8B42 cmp r3, r1 @ _157, tmp291 11908 00fe 8CBF ite hi 11909 0100 0021 movhi r1, #0 @ _238, 11910 0102 0121 movls r1, #1 @ _238, 11911 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:501: if (I 501:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 11912 .loc 10 501 6 discriminator 4 view .LVU2969 11913 0104 79B1 cbz r1, .L887 @ _238, 11914 .LBE893: 11915 .LBE892: 11916 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:521: return -4; 521:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11917 .loc 3 521 13 view .LVU2970 11918 0106 6FF00300 mvn r0, #3 @ , 11919 .LVL664: 521:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 11920 .loc 3 521 13 view .LVU2971 11921 010a 81E7 b .L856 @ 11922 .LVL665: 11923 .L862: 11924 .LBB902: 11925 .LBB891: 406:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C2); 11926 .loc 3 406 8 is_stmt 1 view .LVU2972 11927 010c 654A ldr r2, .L891+32 @ tmp246, 11928 010e 9342 cmp r3, r2 @ _4, tmp246 11929 0110 02D1 bne .L864 @, 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C3) 11930 .loc 3 407 5 view .LVU2973 11931 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:407: LL_APB1_GRP1_ 407:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C3) 11932 .loc 3 407 29 is_stmt 0 view .LVU2974 11933 0112 4FF48000 mov r0, #4194304 @, 11934 0116 C4E7 b .L888 @ 11935 .L864: 408:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C3); 11936 .loc 3 408 8 is_stmt 1 view .LVU2975 11937 0118 634A ldr r2, .L891+36 @ tmp247, 11938 011a 9342 cmp r3, r2 @ _4, tmp247 11939 011c 40F0AF80 bne .L877 @, 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11940 .loc 3 409 5 view .LVU2976 11941 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:409: LL_APB1_GRP1_ 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11942 .loc 3 409 29 is_stmt 0 view .LVU2977 11943 0120 4FF40000 mov r0, #8388608 @, 11944 0124 BDE7 b .L888 @ 11945 .LVL666: ARM GAS /tmp/ccJhhmLc.s page 681 11946 .L887: 409:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 11947 .loc 3 409 29 view .LVU2978 11948 .LBE891: 11949 .LBE902: 11950 .LBB903: 11951 .LBB900: 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11952 .loc 10 507 3 is_stmt 1 view .LVU2979 11953 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:511: MODIF 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11954 .loc 10 511 3 is_stmt 0 view .LVU2980 11955 0126 5668 ldr r6, [r2, #4] @ _83, _69->CR2 11956 .LVL667: 11957 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11958 .loc 10 515 3 view .LVU2981 11959 0128 5B4F ldr r7, .L891+20 @ tmp294, 11960 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:507: freqr 507:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11961 .loc 10 507 13 view .LVU2982 11962 012a 6049 ldr r1, .L891+40 @ tmp292, 11963 012c B3FBF1F1 udiv r1, r3, r1 @ freqrange, _157, tmp292 11964 .LVL668: 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11965 .loc 10 511 3 is_stmt 1 view .LVU2983 11966 0130 26F03F06 bic r6, r6, #63 @ _84, _83, 11967 0134 0E43 orrs r6, r6, r1 @, _85, _84, freqrange 11968 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11969 .loc 10 515 3 is_stmt 0 view .LVU2984 11970 0136 B842 cmp r0, r7 @ _77, tmp294 11971 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:511: MODIF 511:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11972 .loc 10 511 3 view .LVU2985 11973 0138 5660 str r6, [r2, #4] @ _85, _69->CR2 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11974 .loc 10 515 3 is_stmt 1 view .LVU2986 11975 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11976 .loc 10 515 3 is_stmt 0 discriminator 2 view .LVU2987 11977 013a 88BF it hi 11978 013c 4FF49677 movhi r7, #300 @ tmp296, 11979 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11980 .loc 10 515 3 view .LVU2988 11981 0140 166A ldr r6, [r2, #32] @ _86, _69->TRISE 11982 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11983 .loc 10 515 3 discriminator 2 view .LVU2989 11984 0142 88BF it hi 11985 0144 7943 mulhi r1, r7, r1 @ _89, tmp296, freqrange 11986 .LVL669: 11987 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11988 .loc 10 515 3 view .LVU2990 11989 0146 26F03F06 bic r6, r6, #63 @ _87, _86, ARM GAS /tmp/ccJhhmLc.s page 682 11990 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11991 .loc 10 515 3 discriminator 2 view .LVU2991 11992 014a 84BF itt hi 11993 014c 4FF47A77 movhi r7, #1000 @ tmp299, 11994 0150 B1FBF7F1 udivhi r1, r1, r7 @ _90, _89, tmp299 11995 0154 0131 adds r1, r1, #1 @ _92, _90, 11996 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:515: MODIF 515:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 11997 .loc 10 515 3 discriminator 4 view .LVU2992 11998 0156 3143 orrs r1, r1, r6 @, _93, _92, _87 11999 0158 1162 str r1, [r2, #32] @ _93, _69->TRISE 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12000 .loc 10 519 3 is_stmt 1 view .LVU2993 12001 015a D169 ldr r1, [r2, #28] @ _94, _69->CCR 12002 015c 4E4E ldr r6, .L891+20 @ tmp304, 12003 015e 21F44F41 bic r1, r1, #52992 @ _95, _94, 12004 0162 B042 cmp r0, r6 @ _77, tmp304 12005 0164 21F0FF01 bic r1, r1, #255 @ _95, _95, 12006 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12007 .loc 10 519 3 is_stmt 0 discriminator 1 view .LVU2994 12008 0168 03F1FF33 add r3, r3, #-1 @ _65, _157, 12009 .LVL670: 12010 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12011 .loc 10 519 3 view .LVU2995 12012 016c 68D8 bhi .L870 @, 12013 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12014 .loc 10 519 3 discriminator 1 view .LVU2996 12015 016e 4000 lsls r0, r0, #1 @ _97, _77, 12016 0170 B3FBF0F3 udiv r3, r3, r0 @ _98, _65, _97 12017 .LVL671: 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12018 .loc 10 519 3 discriminator 1 view .LVU2997 12019 0174 40F6FC70 movw r0, #4092 @ tmp308, 12020 0178 0133 adds r3, r3, #1 @ _99, _98, 12021 017a 0342 tst r3, r0 @ _99, tmp308 12022 017c 7DD0 beq .L878 @, 12023 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12024 .loc 10 519 3 discriminator 3 view .LVU2998 12025 017e C3F30B03 ubfx r3, r3, #0, #12 @ _128, _99,, 12026 .L871: 12027 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12028 .loc 10 519 3 discriminator 20 view .LVU2999 12029 0182 1943 orrs r1, r1, r3 @, _129, _95, _128 12030 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:523: MODIF 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12031 .loc 10 523 3 view .LVU3000 12032 0184 A823 movs r3, #168 @ tmp332, 12033 0186 03FB0453 mla r3, r3, r4, r5 @ tmp333, tmp332, bus, tmp219 12034 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12035 .loc 10 519 3 discriminator 20 view .LVU3001 ARM GAS /tmp/ccJhhmLc.s page 683 12036 018a D161 str r1, [r2, #28] @ _129, _69->CCR 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12037 .loc 10 523 3 is_stmt 1 view .LVU3002 12038 018c D3E90714 ldrd r1, r4, [r3, #28] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 12039 .LVL672: 523:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12040 .loc 10 523 3 is_stmt 0 view .LVU3003 12041 0190 1068 ldr r0, [r2] @ _130, _69->CR1 12042 0192 2143 orrs r1, r1, r4 @, _134, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 12043 0194 20F0C000 bic r0, r0, #192 @ _131, _130, 12044 0198 0143 orrs r1, r1, r0 @, _135, _134, _131 12045 019a 1160 str r1, [r2] @ _135, _69->CR1 527:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12046 .loc 10 527 3 is_stmt 1 view .LVU3004 12047 019c 9068 ldr r0, [r2, #8] @ _136, _69->OAR1 12048 019e D3E90341 ldrd r4, r1, [r3, #12] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 12049 01a2 20F40340 bic r0, r0, #33536 @ _137, _136, 12050 01a6 2143 orrs r1, r1, r4 @, _140, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 12051 01a8 20F0FF00 bic r0, r0, #255 @ _137, _137, 12052 01ac 0143 orrs r1, r1, r0 @, _141, _140, _137 12053 01ae 9160 str r1, [r2, #8] @ _141, _69->OAR1 531:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12054 .loc 10 531 3 view .LVU3005 12055 01b0 D3E90514 ldrd r1, r4, [r3, #20] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 12056 01b4 D068 ldr r0, [r2, #12] @ _142, _69->OAR2 12057 01b6 2143 orrs r1, r1, r4 @, _146, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs] 12058 01b8 20F0FF00 bic r0, r0, #255 @ _143, _142, 12059 01bc 0143 orrs r1, r1, r0 @, _147, _146, _143 12060 01be D160 str r1, [r2, #12] @ _147, _69->OAR2 534:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12061 .loc 10 534 3 view .LVU3006 12062 01c0 1168 ldr r1, [r2] @ _148, _69->CR1 12063 01c2 41F00101 orr r1, r1, #1 @ _149, _148, 12064 01c6 1160 str r1, [r2] @ _149, _69->CR1 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 12065 .loc 10 536 3 view .LVU3007 12066 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:537: hi2c- 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 12067 .loc 10 537 15 is_stmt 0 view .LVU3008 12068 01c8 2020 movs r0, #32 @ tmp384, 12069 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:536: hi2c- 536:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 12070 .loc 10 536 19 view .LVU3009 12071 01ca 0021 movs r1, #0 @ tmp378, 12072 01cc 1964 str r1, [r3, #64] @ tmp378, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 12073 .loc 10 537 3 is_stmt 1 view .LVU3010 12074 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:537: hi2c- 537:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 12075 .loc 10 537 15 is_stmt 0 view .LVU3011 12076 01ce 83F83D00 strb r0, [r3, #61] @ tmp384, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 12077 .loc 10 538 3 is_stmt 1 view .LVU3012 12078 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:538: hi2c- 538:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 12079 .loc 10 538 23 is_stmt 0 view .LVU3013 12080 01d2 1963 str r1, [r3, #48] @ tmp378, MEM [(struct I2C_HandleTypeDef *)&_i2c_de ARM GAS /tmp/ccJhhmLc.s page 684 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12081 .loc 10 539 3 is_stmt 1 view .LVU3014 12082 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:539: hi2c- 539:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12083 .loc 10 539 14 is_stmt 0 view .LVU3015 12084 01d4 83F83E10 strb r1, [r3, #62] @ tmp378, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 12085 .loc 10 541 3 is_stmt 1 view .LVU3016 12086 .LVL673: 541:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 12087 .loc 10 541 3 is_stmt 0 view .LVU3017 12088 .LBE900: 12089 .LBE903: 527:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2CEx_ConfigAnalogFilter() failed"); 12090 .loc 3 527 3 is_stmt 1 view .LVU3018 12091 .LBB904: 12092 .LBI904: 12093 .file 24 "/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c" 1:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /** 2:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ****************************************************************************** 3:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @file stm32f4xx_hal_i2c_ex.c 4:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @author MCD Application Team 5:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @brief I2C Extension HAL module driver. 6:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * This file provides firmware functions to manage the following 7:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * functionalities of I2C extension peripheral: 8:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * + Extension features functions 9:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * 10:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** @verbatim 11:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ============================================================================== 12:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ##### I2C peripheral extension features ##### 13:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ============================================================================== 14:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 15:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** [..] Comparing to other previous devices, the I2C interface for STM32F427xx/437xx/ 16:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 429xx/439xx devices contains the following additional features : 17:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 18:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** (+) Possibility to disable or enable Analog Noise Filter 19:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** (+) Use of a configured Digital Noise Filter 20:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 21:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ##### How to use this driver ##### 22:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ============================================================================== 23:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** [..] This driver provides functions to configure Noise Filter 24:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** (#) Configure I2C Analog noise filter using the function HAL_I2C_AnalogFilter_Config() 25:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** (#) Configure I2C Digital noise filter using the function HAL_I2C_DigitalFilter_Config() 26:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 27:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** @endverbatim 28:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ****************************************************************************** 29:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @attention 30:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * 31:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** *

© Copyright (c) 2016 STMicroelectronics. 32:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * All rights reserved.

33:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * 34:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, 35:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * the "License"; You may not use this file except in compliance with the 36:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * License. You may obtain a copy of the License at: 37:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * opensource.org/licenses/BSD-3-Clause 38:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * 39:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ****************************************************************************** ARM GAS /tmp/ccJhhmLc.s page 685 40:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** */ 41:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 42:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Includes ------------------------------------------------------------------*/ 43:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** #include "stm32f4xx_hal.h" 44:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 45:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /** @addtogroup STM32F4xx_HAL_Driver 46:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @{ 47:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** */ 48:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 49:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /** @defgroup I2CEx I2CEx 50:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @brief I2C HAL module driver 51:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @{ 52:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** */ 53:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 54:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** #ifdef HAL_I2C_MODULE_ENABLED 55:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 56:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** #if defined(I2C_FLTR_ANOFF)&&defined(I2C_FLTR_DNF) 57:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Private typedef -----------------------------------------------------------*/ 58:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Private define ------------------------------------------------------------*/ 59:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Private macro -------------------------------------------------------------*/ 60:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Private variables ---------------------------------------------------------*/ 61:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Private function prototypes -----------------------------------------------*/ 62:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Exported functions --------------------------------------------------------*/ 63:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions I2C Exported Functions 64:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @{ 65:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** */ 66:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 67:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 68:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group1 Extension features functions 69:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @brief Extension features functions 70:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * 71:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** @verbatim 72:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** =============================================================================== 73:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** ##### Extension features functions ##### 74:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** =============================================================================== 75:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** [..] This section provides functions allowing to: 76:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** (+) Configure Noise Filters 77:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 78:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** @endverbatim 79:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @{ 80:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** */ 81:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 82:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /** 83:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @brief Configures I2C Analog noise filter. 84:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @param hi2c pointer to a I2C_HandleTypeDef structure that contains 85:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 86:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @param AnalogFilter new state of the Analog filter. 87:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @retval HAL status 88:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** */ 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter) 12094 .loc 24 89 19 view .LVU3019 12095 .LBB905: 12096 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:95: if 90:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 91:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Check the parameters */ 92:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 93:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter)); ARM GAS /tmp/ccJhhmLc.s page 686 94:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 95:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 12097 .loc 24 95 11 is_stmt 0 view .LVU3020 12098 01d8 93F83D00 ldrb r0, [r3, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 12099 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:95: if 12100 .loc 24 95 6 view .LVU3021 12101 01dc 2028 cmp r0, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14].handl 12102 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:95: if 12103 .loc 24 95 11 view .LVU3022 12104 01de C5B2 uxtb r5, r0 @ _158, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14] 12105 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:95: if 12106 .loc 24 95 6 view .LVU3023 12107 01e0 7FF414AF bne .L875 @, 12108 .LVL674: 12109 .LBB906: 12110 .LBI906: 89:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 12111 .loc 24 89 19 is_stmt 1 view .LVU3024 12112 .LBB907: 12113 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:97: h 96:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 97:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 12114 .loc 24 97 17 is_stmt 0 view .LVU3025 12115 01e4 2424 movs r4, #36 @ tmp411, 12116 01e6 83F83D40 strb r4, [r3, #61] @ tmp411, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 12117 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:100: 98:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 99:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 100:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 12118 .loc 24 100 5 view .LVU3026 12119 01ea 1068 ldr r0, [r2] @ _162, _69->CR1 12120 01ec 20F00100 bic r0, r0, #1 @ _163, _162, 12121 01f0 1060 str r0, [r2] @ _163, _69->CR1 12122 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:103: 101:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 102:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Reset I2Cx ANOFF bit */ 103:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** hi2c->Instance->FLTR &= ~(I2C_FLTR_ANOFF); 12123 .loc 24 103 19 view .LVU3027 12124 01f2 506A ldr r0, [r2, #36] @ _164, _69->FLTR 12125 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:103: 12126 .loc 24 103 26 view .LVU3028 12127 01f4 20F01000 bic r0, r0, #16 @ _165, _164, 12128 01f8 5062 str r0, [r2, #36] @ _165, _69->FLTR 12129 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:106: 104:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 105:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Disable the analog filter */ 106:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** hi2c->Instance->FLTR |= AnalogFilter; 12130 .loc 24 106 19 view .LVU3029 12131 01fa 506A ldr r0, [r2, #36] @ _166, _69->FLTR 12132 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:106: 12133 .loc 24 106 26 view .LVU3030 12134 01fc 5062 str r0, [r2, #36] @ _166, _69->FLTR 12135 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:108: 107:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 108:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 12136 .loc 24 108 5 view .LVU3031 12137 01fe 1068 ldr r0, [r2] @ _168, _69->CR1 ARM GAS /tmp/ccJhhmLc.s page 687 12138 0200 40F00100 orr r0, r0, #1 @ _169, _168, 12139 0204 1060 str r0, [r2] @ _169, _69->CR1 12140 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:110: 109:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 110:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 12141 .loc 24 110 17 view .LVU3032 12142 0206 83F83D50 strb r5, [r3, #61] @ _158, MEM [(struct I2C_HandleTypeDef *)&_i2c_dev 12143 .LVL675: 12144 .loc 24 110 17 view .LVU3033 12145 .LBE907: 12146 .LBE906: 12147 .LBE905: 12148 .LBE904: 533:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2CEx_ConfigDigitalFilter() failed"); 12149 .loc 3 533 3 is_stmt 1 view .LVU3034 12150 .LBB908: 12151 .LBI908: 111:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 112:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** return HAL_OK; 113:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** } 114:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** else 115:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 116:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** return HAL_BUSY; 117:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** } 118:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** } 119:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 120:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /** 121:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @brief Configures I2C Digital noise filter. 122:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @param hi2c pointer to a I2C_HandleTypeDef structure that contains 123:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral. 124:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @param DigitalFilter Coefficient of digital noise filter between 0x00 and 0x0F. 125:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** * @retval HAL status 126:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** */ 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter) 12152 .loc 24 127 19 view .LVU3035 12153 .LBB909: 12154 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:135: if 128:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 129:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** uint16_t tmpreg = 0; 130:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 131:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Check the parameters */ 132:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 133:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter)); 134:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 135:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY) 12155 .loc 24 135 11 is_stmt 0 view .LVU3036 12156 020a 93F83D00 ldrb r0, [r3, #61] @ zero_extendqisi2 @ MEM [(struct I2C_HandleTypeDe 12157 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:135: if 12158 .loc 24 135 6 view .LVU3037 12159 020e 2028 cmp r0, #32 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14].handl 12160 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:135: if 12161 .loc 24 135 11 view .LVU3038 12162 0210 C5B2 uxtb r5, r0 @ _171, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14] 12163 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:135: if 12164 .loc 24 135 6 view .LVU3039 12165 0212 7FF4FBAE bne .L875 @, 12166 .LVL676: ARM GAS /tmp/ccJhhmLc.s page 688 12167 .LBB910: 12168 .LBI910: 127:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 12169 .loc 24 127 19 is_stmt 1 view .LVU3040 12170 .LBB911: 12171 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:137: 136:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** { 137:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY; 12172 .loc 24 137 17 is_stmt 0 view .LVU3041 12173 0216 83F83D40 strb r4, [r3, #61] @ tmp411, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 12174 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:140: 138:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 139:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */ 140:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c); 12175 .loc 24 140 5 view .LVU3042 12176 021a 1068 ldr r0, [r2] @ _175, _69->CR1 12177 021c 20F00100 bic r0, r0, #1 @ _176, _175, 12178 0220 1060 str r0, [r2] @ _176, _69->CR1 12179 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:143: 141:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 142:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Get the old register value */ 143:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** tmpreg = hi2c->Instance->FLTR; 12180 .loc 24 143 28 view .LVU3043 12181 0222 546A ldr r4, [r2, #36] @ _177, _69->FLTR 12182 .LVL677: 12183 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:152: 144:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 145:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Reset I2Cx DNF bit [3:0] */ 146:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** tmpreg &= ~(I2C_FLTR_DNF); 147:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 148:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Set I2Cx DNF coefficient */ 149:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** tmpreg |= DigitalFilter; 150:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 151:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** /* Store the new register value */ 152:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** hi2c->Instance->FLTR = tmpreg; 12184 .loc 24 152 26 view .LVU3044 12185 0224 4FF6F070 movw r0, #65520 @ _182, 12186 0228 2040 ands r0, r0, r4 @, _182, _182, _177 12187 022a 5062 str r0, [r2, #36] @ _182, _69->FLTR 12188 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:154: 153:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 154:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c); 12189 .loc 24 154 5 view .LVU3045 12190 022c 1068 ldr r0, [r2] @ _183, _69->CR1 12191 022e 40F00100 orr r0, r0, #1 @ _184, _183, 12192 0232 1060 str r0, [r2] @ _184, _69->CR1 12193 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c:156: 155:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** 156:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY; 12194 .loc 24 156 17 view .LVU3046 12195 0234 83F83D50 strb r5, [r3, #61] @ _171, MEM [(struct I2C_HandleTypeDef *)&_i2c_dev 12196 .LVL678: 12197 .loc 24 156 17 view .LVU3047 12198 .LBE911: 12199 .LBE910: 12200 .LBE909: 12201 .LBE908: ARM GAS /tmp/ccJhhmLc.s page 689 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 12202 .loc 3 540 3 is_stmt 1 view .LVU3048 12203 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:540: dev->mutex_init 540:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #endif 12204 .loc 3 540 26 is_stmt 0 view .LVU3049 12205 0238 83F8A410 strb r1, [r3, #164] @ tmp378, MEM [(struct stm32_i2c_device *)&_i2c_d 542:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12206 .loc 3 542 3 is_stmt 1 view .LVU3050 12207 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:542: return 1; 542:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12208 .loc 3 542 10 is_stmt 0 view .LVU3051 12209 023c 0120 movs r0, #1 @ , 12210 023e E7E6 b .L856 @ 12211 .LVL679: 12212 .L870: 12213 .LBB912: 12214 .LBB901: 12215 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12216 .loc 10 519 3 discriminator 2 view .LVU3052 12217 0240 A826 movs r6, #168 @ tmp313, 12218 0242 06FB0456 mla r6, r6, r4, r5 @ tmp314, tmp313, bus, tmp219 12219 0246 B668 ldr r6, [r6, #8] @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14]. 12220 0248 56B9 cbnz r6, .L872 @ MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_14].ha 12221 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12222 .loc 10 519 3 discriminator 8 view .LVU3053 12223 024a 00EB4000 add r0, r0, r0, lsl #1 @ _104, _77, _77, 12224 024e B3FBF0F3 udiv r3, r3, r0 @ _105, _65, _104 12225 .LVL680: 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12226 .loc 10 519 3 discriminator 8 view .LVU3054 12227 0252 0133 adds r3, r3, #1 @ _106, _105, 12228 0254 C3F30B03 ubfx r3, r3, #0, #12 @ _107, _106,, 12229 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12230 .loc 10 519 3 discriminator 11 view .LVU3055 12231 0258 53B1 cbz r3, .L880 @ _107, 12232 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12233 .loc 10 519 3 discriminator 15 view .LVU3056 12234 025a 43F40043 orr r3, r3, #32768 @ _128, _107, 12235 025e 90E7 b .L871 @ 12236 .LVL681: 12237 .L872: 12238 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12239 .loc 10 519 3 discriminator 9 view .LVU3057 12240 0260 1926 movs r6, #25 @ tmp325, 12241 0262 7043 muls r0, r6, r0 @ _110, tmp325 12242 0264 B3FBF0F3 udiv r3, r3, r0 @ _111, _65, _110 12243 .LVL682: 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12244 .loc 10 519 3 discriminator 9 view .LVU3058 12245 0268 0133 adds r3, r3, #1 @ _112, _111, 12246 026a C3F30B03 ubfx r3, r3, #0, #12 @ _113, _112,, 12247 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF ARM GAS /tmp/ccJhhmLc.s page 690 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12248 .loc 10 519 3 discriminator 11 view .LVU3059 12249 026e 0BB9 cbnz r3, .L886 @ _113, 12250 .L880: 12251 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12252 .loc 10 519 3 discriminator 12 view .LVU3060 12253 0270 0123 movs r3, #1 @ _128, 12254 0272 86E7 b .L871 @ 12255 .L886: 12256 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12257 .loc 10 519 3 discriminator 16 view .LVU3061 12258 0274 43F44043 orr r3, r3, #49152 @ _128, _113, 12259 0278 83E7 b .L871 @ 12260 .L878: 12261 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:519: MODIF 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12262 .loc 10 519 3 discriminator 4 view .LVU3062 12263 027a 0423 movs r3, #4 @ _128, 12264 027c 81E7 b .L871 @ 12265 .LVL683: 12266 .L877: 519:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12267 .loc 10 519 3 discriminator 4 view .LVU3063 12268 .LBE901: 12269 .LBE912: 12270 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:516: return -3; 516:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12271 .loc 3 516 13 view .LVU3064 12272 027e 6FF00200 mvn r0, #2 @ , 12273 0282 C5E6 b .L856 @ 12274 .L892: 12275 .align 2 12276 .L891: 12277 0284 00000000 .word _ZL9_i2c_devs 12278 0288 00540040 .word 1073763328 12279 028c 00000000 .word APBPrescTable 12280 0290 00380240 .word 1073887232 12281 0294 00000000 .word SystemCoreClock 12282 0298 A0860100 .word 100000 12283 029c 7F841E00 .word 1999999 12284 02a0 FF083D00 .word 3999999 12285 02a4 00580040 .word 1073764352 12286 02a8 005C0040 .word 1073765376 12287 02ac 40420F00 .word 1000000 12288 .cfi_endproc 12289 .LFE202: 12290 .size _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t, .-_Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t 12291 .section .text._Z16stm32_i2c_deinith,"ax",%progbits 12292 .align 1 12293 .global _Z16stm32_i2c_deinith 12294 .syntax unified 12295 .thumb 12296 .thumb_func 12297 .type _Z16stm32_i2c_deinith, %function 12298 _Z16stm32_i2c_deinith: ARM GAS /tmp/ccJhhmLc.s page 691 12299 .LVL684: 12300 .LFB216: 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 12301 .loc 3 546 1 is_stmt 1 view -0 12302 .cfi_startproc 12303 @ args = 0, pretend = 0, frame = 0 12304 @ frame_needed = 0, uses_anonymous_args = 0 547:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!h) return -1; 12305 .loc 3 547 3 view .LVU3066 12306 .LBB927: 12307 .LBI927: 54:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 12308 .loc 3 54 27 view .LVU3067 12309 .LBB928: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 12310 .loc 3 56 3 view .LVU3068 12311 0000 0128 cmp r0, #1 @ bus, 12312 .LBE928: 12313 .LBE927: 12314 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:546: { 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 12315 .loc 3 546 1 is_stmt 0 view .LVU3069 12316 0002 70B5 push {r4, r5, r6, lr} @ 12317 .LCFI92: 12318 .cfi_def_cfa_offset 16 12319 .cfi_offset 4, -16 12320 .cfi_offset 5, -12 12321 .cfi_offset 6, -8 12322 .cfi_offset 14, -4 12323 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:546: { 546:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** I2C_HandleTypeDef* h = i2c_get_handle(bus); 12324 .loc 3 546 1 view .LVU3070 12325 0004 0546 mov r5, r0 @ bus, tmp197 12326 .LVL685: 12327 .LBB931: 12328 .LBB929: 12329 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:56: if (bus >= MAX_I 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 12330 .loc 3 56 3 view .LVU3071 12331 0006 02D9 bls .L894 @, 12332 .LVL686: 12333 .L899: 56:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus].handle; 12334 .loc 3 56 3 view .LVU3072 12335 .LBE929: 12336 .LBE931: 12337 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:548: if (!h) return 548:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12338 .loc 3 548 19 discriminator 1 view .LVU3073 12339 0008 4FF0FF30 mov r0, #-1 @ , 12340 .L893: 12341 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:565: } 565:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12342 .loc 3 565 1 view .LVU3074 12343 000c 70BD pop {r4, r5, r6, pc} @ 12344 .LVL687: 12345 .L894: ARM GAS /tmp/ccJhhmLc.s page 692 12346 .LBB932: 12347 .LBB930: 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12348 .loc 3 57 3 is_stmt 1 view .LVU3075 57:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12349 .loc 3 57 3 is_stmt 0 view .LVU3076 12350 .LBE930: 12351 .LBE932: 548:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12352 .loc 3 548 3 is_stmt 1 view .LVU3077 550:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12353 .loc 3 550 3 view .LVU3078 12354 .LBB933: 12355 .LBI933: 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 12356 .loc 10 550 19 view .LVU3079 553:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 12357 .loc 10 553 3 view .LVU3080 12358 .LBB934: 12359 .LBI934: 550:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** { 12360 .loc 10 550 19 view .LVU3081 12361 .LBB935: 559:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12362 .loc 10 559 3 view .LVU3082 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12363 .loc 10 561 3 view .LVU3083 12364 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:561: hi2c- 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12365 .loc 10 561 15 is_stmt 0 view .LVU3084 12366 000e 224C ldr r4, .L905 @ tmp131, 12367 0010 A826 movs r6, #168 @ tmp133, 12368 0012 4643 muls r6, r0, r6 @ tmp132, bus 12369 0014 A319 adds r3, r4, r6 @ tmp134, tmp131, tmp132 12370 .LVL688: 12371 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:564: __HAL 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12372 .loc 10 564 3 view .LVU3085 12373 0016 A159 ldr r1, [r4, r6] @ _27, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][ 12374 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:561: hi2c- 561:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12375 .loc 10 561 15 view .LVU3086 12376 0018 2422 movs r2, #36 @ tmp136, 12377 001a 83F83D20 strb r2, [r3, #61] @ tmp136, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12378 .loc 10 564 3 is_stmt 1 view .LVU3087 12379 001e 0A68 ldr r2, [r1] @ _28, _27->CR1 12380 .LBE935: 12381 .LBE934: 12382 .LBE933: 12383 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:552: memset(&h->Init 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12384 .loc 3 552 10 is_stmt 0 view .LVU3088 12385 0020 4042 rsbs r0, r0, #0 @ tmp175, bus 12386 .LVL689: 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12387 .loc 3 552 10 view .LVU3089 ARM GAS /tmp/ccJhhmLc.s page 693 12388 0022 00F0A800 and r0, r0, #168 @ _1, tmp175, 12389 .LBB944: 12390 .LBB940: 12391 .LBB936: 12392 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:564: __HAL 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12393 .loc 10 564 3 view .LVU3090 12394 0026 22F00102 bic r2, r2, #1 @ _29, _28, 12395 .LBE936: 12396 .LBE940: 12397 .LBE944: 12398 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:552: memset(&h->Init 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12399 .loc 3 552 10 view .LVU3091 12400 002a 0430 adds r0, r0, #4 @ _35, _1, 12401 .LBB945: 12402 .LBB941: 12403 .LBB937: 12404 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:564: __HAL 564:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12405 .loc 10 564 3 view .LVU3092 12406 002c 0A60 str r2, [r1] @ _29, _27->CR1 576:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 12407 .loc 10 576 3 is_stmt 1 view .LVU3093 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 12408 .loc 10 579 3 view .LVU3094 12409 .LBE937: 12410 .LBE941: 12411 .LBE945: 12412 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:552: memset(&h->Init 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12413 .loc 3 552 9 is_stmt 0 view .LVU3095 12414 002e 2044 add r0, r0, r4 @, tmp131 12415 .LBB946: 12416 .LBB942: 12417 .LBB938: 12418 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:579: hi2c- 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 12419 .loc 10 579 23 view .LVU3096 12420 0030 0021 movs r1, #0 @ tmp147, 12421 .LBE938: 12422 .LBE942: 12423 .LBE946: 12424 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:552: memset(&h->Init 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12425 .loc 3 552 9 view .LVU3097 12426 0032 2022 movs r2, #32 @, 12427 .LBB947: 12428 .LBB943: 12429 .LBB939: 12430 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:579: hi2c- 579:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 12431 .loc 10 579 23 view .LVU3098 12432 0034 1964 str r1, [r3, #64] @ tmp147, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 12433 .loc 10 580 3 is_stmt 1 view .LVU3099 12434 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:585: __HAL ARM GAS /tmp/ccJhhmLc.s page 694 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12435 .loc 10 585 3 is_stmt 0 view .LVU3100 12436 0036 83F83C10 strb r1, [r3, #60] @ tmp147, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 12437 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:580: hi2c- 580:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 12438 .loc 10 580 23 view .LVU3101 12439 003a 83F83D10 strb r1, [r3, #61] @ tmp147, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 12440 .loc 10 581 3 is_stmt 1 view .LVU3102 12441 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:581: hi2c- 581:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 12442 .loc 10 581 23 is_stmt 0 view .LVU3103 12443 003e 1963 str r1, [r3, #48] @ tmp147, MEM [(struct I2C_HandleTypeDef *)&_i2c_de 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12444 .loc 10 582 3 is_stmt 1 view .LVU3104 12445 @ /workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c:582: hi2c- 582:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12446 .loc 10 582 23 is_stmt 0 view .LVU3105 12447 0040 83F83E10 strb r1, [r3, #62] @ tmp147, MEM [(struct I2C_HandleTypeDef *)&_i2c_d 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12448 .loc 10 585 3 is_stmt 1 view .LVU3106 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12449 .loc 10 585 3 view .LVU3107 585:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** 12450 .loc 10 585 3 view .LVU3108 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 12451 .loc 10 587 3 view .LVU3109 12452 .LVL690: 587:/workspaces/edgetx/radio/src/thirdparty/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_i2c.c **** } 12453 .loc 10 587 3 is_stmt 0 view .LVU3110 12454 .LBE939: 12455 .LBE943: 12456 .LBE947: 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12457 .loc 3 552 3 is_stmt 1 view .LVU3111 12458 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:552: memset(&h->Init 552:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12459 .loc 3 552 9 is_stmt 0 view .LVU3112 12460 0044 FFF7FEFF bl memset @ 12461 .LVL691: 554:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspDeInit() I2C misconfiguration"); 12462 .loc 3 554 3 is_stmt 1 view .LVU3113 12463 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:554: if (i2c_disable 554:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** TRACE("I2C ERROR: HAL_I2C_MspDeInit() I2C misconfiguration"); 12464 .loc 3 554 24 is_stmt 0 view .LVU3114 12465 0048 A359 ldr r3, [r4, r6] @ _3, MEM [(struct I2C_HandleTypeDef *)&_i2c_devs][_ 12466 .LVL692: 12467 .LBB948: 12468 .LBI948: 419:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 12469 .loc 3 419 12 is_stmt 1 view .LVU3115 12470 .LBB949: 422:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C1); 12471 .loc 3 422 3 view .LVU3116 12472 004a 144A ldr r2, .L905+4 @ tmp187, 12473 004c 9342 cmp r3, r2 @ _3, tmp187 12474 004e 17D1 bne .L896 @, ARM GAS /tmp/ccJhhmLc.s page 695 423:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C2) 12475 .loc 3 423 5 view .LVU3117 12476 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:423: LL_APB1_GRP1_ 423:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C2) 12477 .loc 3 423 30 is_stmt 0 view .LVU3118 12478 0050 4FF40010 mov r0, #2097152 @, 12479 .L904: 12480 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:427: LL_APB1_GRP1_ 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 12481 .loc 3 427 30 view .LVU3119 12482 0054 FFF7FEFF bl LL_APB1_GRP1_DisableClock.lto_priv.2.lto_priv.0 @ 12483 .LVL693: 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 12484 .loc 3 427 30 view .LVU3120 12485 .LBE949: 12486 .LBE948: 559:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** if (!dev) return -1; 12487 .loc 3 559 3 is_stmt 1 view .LVU3121 12488 .LBB951: 12489 .LBI951: 48:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 12490 .loc 3 48 26 view .LVU3122 50:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** return &_i2c_devs[bus]; 12491 .loc 3 50 3 view .LVU3123 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12492 .loc 3 51 3 view .LVU3124 51:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12493 .loc 3 51 3 is_stmt 0 view .LVU3125 12494 .LBE951: 560:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12495 .loc 3 560 3 is_stmt 1 view .LVU3126 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12496 .loc 3 562 3 view .LVU3127 12497 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:562: i2c_gpio_deinit 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12498 .loc 3 562 18 is_stmt 0 view .LVU3128 12499 0058 A823 movs r3, #168 @ tmp192, 12500 005a 03FB0544 mla r4, r3, r5, r4 @ tmp193, tmp192, bus, tmp131 12501 .LBB952: 12502 .LBB953: 12503 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:461: gpio_init(hw_de 461:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SDA_GPIO, GPIO_IN, GPIO_PIN_SPEED_LOW); 12504 .loc 3 461 12 view .LVU3129 12505 005e 0022 movs r2, #0 @, 12506 .LBE953: 12507 .LBE952: 12508 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:562: i2c_gpio_deinit 562:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12509 .loc 3 562 18 view .LVU3130 12510 0060 646D ldr r4, [r4, #84] @ _5, MEM [(struct stm32_i2c_device *)&_i2c_devs][_ 12511 .LVL694: 12512 .LBB955: 12513 .LBI952: 458:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** { 12514 .loc 3 458 12 is_stmt 1 view .LVU3131 12515 .LBB954: 12516 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:461: gpio_init(hw_de ARM GAS /tmp/ccJhhmLc.s page 696 461:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** gpio_init(hw_def->SDA_GPIO, GPIO_IN, GPIO_PIN_SPEED_LOW); 12517 .loc 3 461 12 is_stmt 0 view .LVU3132 12518 0062 1146 mov r1, r2 @, 12519 0064 6068 ldr r0, [r4, #4] @, _5->SCL_GPIO 12520 0066 FFF7FEFF bl _Z9gpio_initmhh @ 12521 .LVL695: 12522 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:462: gpio_init(hw_de 462:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** 12523 .loc 3 462 12 view .LVU3133 12524 006a 0022 movs r2, #0 @, 12525 006c A068 ldr r0, [r4, #8] @, _5->SDA_GPIO 12526 006e 1146 mov r1, r2 @, 12527 0070 FFF7FEFF bl _Z9gpio_initmhh @ 12528 .LVL696: 12529 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:464: if (hw_def->set 464:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** hw_def->set_pwr(false); 12530 .loc 3 464 15 view .LVU3134 12531 0074 2369 ldr r3, [r4, #16] @ _34, _5->set_pwr 12532 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:464: if (hw_def->set 464:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** hw_def->set_pwr(false); 12533 .loc 3 464 3 view .LVU3135 12534 0076 0BB1 cbz r3, .L900 @ _34, 12535 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:465: hw_def->set_p 465:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12536 .loc 3 465 20 view .LVU3136 12537 0078 0020 movs r0, #0 @, 12538 007a 9847 blx r3 @ _34 12539 .LVL697: 12540 .L900: 12541 .LBE954: 12542 .LBE955: 12543 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:564: return 0; 564:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12544 .loc 3 564 10 view .LVU3137 12545 007c 0020 movs r0, #0 @ , 12546 .LVL698: 564:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** } 12547 .loc 3 564 10 view .LVU3138 12548 007e C5E7 b .L893 @ 12549 .LVL699: 12550 .L896: 12551 .LBB956: 12552 .LBB950: 424:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C2); 12553 .loc 3 424 8 is_stmt 1 view .LVU3139 12554 0080 074A ldr r2, .L905+8 @ tmp188, 12555 0082 9342 cmp r3, r2 @ _3, tmp188 12556 0084 02D1 bne .L898 @, 425:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C3) 12557 .loc 3 425 5 view .LVU3140 12558 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:425: LL_APB1_GRP1_ 425:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** else if (instance == I2C3) 12559 .loc 3 425 30 is_stmt 0 view .LVU3141 12560 0086 4FF48000 mov r0, #4194304 @, 12561 008a E3E7 b .L904 @ 12562 .L898: 426:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_I2C3); ARM GAS /tmp/ccJhhmLc.s page 697 12563 .loc 3 426 8 is_stmt 1 view .LVU3142 12564 008c 054A ldr r2, .L905+12 @ tmp189, 12565 008e 9342 cmp r3, r2 @ _3, tmp189 12566 0090 BAD1 bne .L899 @, 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 12567 .loc 3 427 5 view .LVU3143 12568 @ /workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp:427: LL_APB1_GRP1_ 427:/workspaces/edgetx/radio/src/targets/common/arm/stm32/stm32_i2c_driver.cpp **** #if defined(I2C4) 12569 .loc 3 427 30 is_stmt 0 view .LVU3144 12570 0092 4FF40000 mov r0, #8388608 @, 12571 0096 DDE7 b .L904 @ 12572 .L906: 12573 .align 2 12574 .L905: 12575 0098 00000000 .word _ZL9_i2c_devs 12576 009c 00540040 .word 1073763328 12577 00a0 00580040 .word 1073764352 12578 00a4 005C0040 .word 1073765376 12579 .LBE950: 12580 .LBE956: 12581 .cfi_endproc 12582 .LFE216: 12583 .size _Z16stm32_i2c_deinith, .-_Z16stm32_i2c_deinith 12584 .section .bss.uwTick,"aw",%nobits 12585 .align 2 12586 .type uwTick, %object 12587 .size uwTick, 4 12588 uwTick: 12589 0000 00000000 .space 4 12590 .section .rodata._ZL15usbSerialDriver,"a" 12591 .align 2 12592 .type _ZL15usbSerialDriver, %object 12593 .size _ZL15usbSerialDriver, 76 12594 _ZL15usbSerialDriver: 12595 @ init: 12596 0000 00000000 .word _ZL13usbSerialInitPvPK15etx_serial_init.lto_priv.0 12597 @ deinit: 12598 0004 00000000 .word 0 12599 @ sendByte: 12600 0008 00000000 .word _Z13usbSerialPutcPvh 12601 @ sendBuffer: 12602 000c 00000000 .word 0 12603 @ waitForTxCompleted: 12604 0010 00000000 .space 4 12605 0014 00000000 .word 0 12606 @ getByte: 12607 0018 00000000 .space 4 12608 001c 00000000 .word 0 12609 @ clearRxBuffer: 12610 0020 00000000 .space 12 12610 00000000 12610 00000000 12611 002c 00000000 .word 0 12612 @ getBaudrate: 12613 0030 00000000 .word _Z17usbSerialBaudRatePv 12614 @ setReceiveCb: 12615 0034 00000000 .space 12 ARM GAS /tmp/ccJhhmLc.s page 698 12615 00000000 12615 00000000 12616 0040 00000000 .word _Z25usbSerialSetReceiveDataCbPvPFvPhmE 12617 @ setBaudrateCb: 12618 0044 00000000 .space 4 12619 0048 00000000 .word _Z22usbSerialSetBaudRateCbPvPFvmE 12620 .global UsbSerialPort 12621 .section .rodata.str1.1,"aMS",%progbits,1 12622 .LC0: 12623 0000 5553422D .ascii "USB-VCP\000" 12623 56435000 12624 .section .rodata.UsbSerialPort,"a" 12625 .align 2 12626 .type UsbSerialPort, %object 12627 .size UsbSerialPort, 16 12628 UsbSerialPort: 12629 @ name: 12630 0000 00000000 .word .LC0 12631 @ uart: 12632 0004 00000000 .word _ZL15usbSerialDriver 12633 @ hw_def: 12634 0008 00000000 .word 0 12635 @ set_pwr: 12636 000c 00000000 .word 0 12637 .section .bss._ZL9_i2c_devs,"aw",%nobits 12638 .align 2 12639 .type _ZL9_i2c_devs, %object 12640 .size _ZL9_i2c_devs, 336 12641 _ZL9_i2c_devs: 12642 0000 00000000 .space 336 12642 00000000 12642 00000000 12642 00000000 12642 00000000 12643 .section .ram,"aw" 12644 .align 2 12645 .type _ZL7scratch, %object 12646 .size _ZL7scratch, 512 12647 _ZL7scratch: 12648 0000 00000000 .space 512 12648 00000000 12648 00000000 12648 00000000 12648 00000000 12649 .text 12650 .Letext0: 12651 .file 25 "" 12652 .section .debug_info,"",%progbits 12653 .Ldebug_info0: 12654 0000 F2370000 .4byte 0x37f2 12655 0004 0200 .2byte 0x2 12656 0006 00000000 .4byte .Ldebug_abbrev0 12657 000a 04 .byte 0x4 12658 000b 01 .uleb128 0x1 12659 000c 52010000 .4byte .LASF15 12660 0010 04 .byte 0x4 12661 0011 CB000000 .4byte .LASF16 ARM GAS /tmp/ccJhhmLc.s page 699 12662 0015 4E000000 .4byte .LASF17 12663 0019 98090000 .4byte .Ldebug_ranges0+0x998 12664 001d 00000000 .4byte 0 12665 0021 00000000 .4byte 0 12666 0025 00000000 .4byte .Ldebug_line0 12667 0029 02 .uleb128 0x2 12668 002a 08 .byte 0x8 12669 002b 07 .byte 0x7 12670 002c FE000000 .4byte .LASF0 12671 0030 02 .uleb128 0x2 12672 0031 04 .byte 0x4 12673 0032 07 .byte 0x7 12674 0033 07000000 .4byte .LASF1 12675 0037 02 .uleb128 0x2 12676 0038 01 .byte 0x1 12677 0039 08 .byte 0x8 12678 003a BA020000 .4byte .LASF2 12679 003e 02 .uleb128 0x2 12680 003f 02 .byte 0x2 12681 0040 07 .byte 0x7 12682 0041 64030000 .4byte .LASF3 12683 0045 03 .uleb128 0x3 12684 0046 9F100000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4255 12685 004a 00000000 .4byte .LFB1 12686 004e 1A000000 .4byte .LFE1 12687 0052 02 .byte 0x2 12688 0053 7D .byte 0x7d 12689 0054 00 .sleb128 0 12690 0055 01 .byte 0x1 12691 0056 6F000000 .4byte 0x6f 12692 005a 04 .uleb128 0x4 12693 005b B2100000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4274 12694 005f 01 .byte 0x1 12695 0060 50 .byte 0x50 12696 0061 05 .uleb128 0x5 12697 0062 BF100000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4287 12698 0066 02000000 .4byte .LLST0 12699 006a 00000000 .4byte .LVUS0 12700 006e 00 .byte 0 12701 006f 03 .uleb128 0x3 12702 0070 CD100000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4301 12703 0074 00000000 .4byte .LFB3 12704 0078 1A000000 .4byte .LFE3 12705 007c 02 .byte 0x2 12706 007d 7D .byte 0x7d 12707 007e 00 .sleb128 0 12708 007f 01 .byte 0x1 12709 0080 99000000 .4byte 0x99 12710 0084 04 .uleb128 0x4 12711 0085 E0100000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4320 12712 0089 01 .byte 0x1 12713 008a 50 .byte 0x50 12714 008b 05 .uleb128 0x5 12715 008c ED100000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4333 12716 0090 17000000 .4byte .LLST1 12717 0094 15000000 .4byte .LVUS1 12718 0098 00 .byte 0 ARM GAS /tmp/ccJhhmLc.s page 700 12719 0099 06 .uleb128 0x6 12720 009a 72130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4978 12721 009e 00000000 .4byte .LFB5 12722 00a2 8C010000 .4byte .LFE5 12723 00a6 2A000000 .4byte .LLST2 12724 00aa 01 .byte 0x1 12725 00ab 77010000 .4byte 0x177 12726 00af 07 .uleb128 0x7 12727 00b0 85130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4997 12728 00b4 56000000 .4byte .LLST3 12729 00b8 4A000000 .4byte .LVUS3 12730 00bc 07 .uleb128 0x7 12731 00bd 92130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5010 12732 00c1 B9000000 .4byte .LLST4 12733 00c5 AF000000 .4byte .LVUS4 12734 00c9 07 .uleb128 0x7 12735 00ca 9E130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5022 12736 00ce 0E010000 .4byte .LLST5 12737 00d2 0A010000 .4byte .LVUS5 12738 00d6 05 .uleb128 0x5 12739 00d7 AB130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5035 12740 00db 38010000 .4byte .LLST6 12741 00df 2C010000 .4byte .LVUS6 12742 00e3 05 .uleb128 0x5 12743 00e4 B8130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5048 12744 00e8 99010000 .4byte .LLST7 12745 00ec 91010000 .4byte .LVUS7 12746 00f0 05 .uleb128 0x5 12747 00f1 C5130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5061 12748 00f5 D8010000 .4byte .LLST8 12749 00f9 D4010000 .4byte .LVUS8 12750 00fd 08 .uleb128 0x8 12751 00fe 97120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4759 12752 0102 00000000 .4byte .Ldebug_ranges0+0 12753 0106 02 .byte 0x2 12754 0107 3003 .2byte 0x330 12755 0109 0F .byte 0xf 12756 010a 07 .uleb128 0x7 12757 010b AA120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4778 12758 010f 1D020000 .4byte .LLST9 12759 0113 17020000 .4byte .LVUS9 12760 0117 07 .uleb128 0x7 12761 0118 B7120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4791 12762 011c 50020000 .4byte .LLST10 12763 0120 4C020000 .4byte .LVUS10 12764 0124 09 .uleb128 0x9 12765 0125 C4120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4804 12766 0129 07 .uleb128 0x7 12767 012a D1120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4817 12768 012e 7B020000 .4byte .LLST11 12769 0132 79020000 .4byte .LVUS11 12770 0136 07 .uleb128 0x7 12771 0137 DE120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4830 12772 013b 90020000 .4byte .LLST12 12773 013f 8E020000 .4byte .LVUS12 12774 0143 0A .uleb128 0xa 12775 0144 00000000 .4byte .Ldebug_ranges0+0 ARM GAS /tmp/ccJhhmLc.s page 701 12776 0148 05 .uleb128 0x5 12777 0149 EB120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4843 12778 014d 1D020000 .4byte .LLST9 12779 0151 17020000 .4byte .LVUS9 12780 0155 05 .uleb128 0x5 12781 0156 F8120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4856 12782 015a A9020000 .4byte .LLST14 12783 015e A3020000 .4byte .LVUS14 12784 0162 0B .uleb128 0xb 12785 0163 05130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4869 12786 0167 05 .uleb128 0x5 12787 0168 12130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4882 12788 016c D7020000 .4byte .LLST15 12789 0170 D5020000 .4byte .LVUS15 12790 0174 00 .byte 0 12791 0175 00 .byte 0 12792 0176 00 .byte 0 12793 0177 06 .uleb128 0x6 12794 0178 1E130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4894 12795 017c 00000000 .4byte .LFB9 12796 0180 F0000000 .4byte .LFE9 12797 0184 EB020000 .4byte .LLST16 12798 0188 01 .byte 0x1 12799 0189 C9010000 .4byte 0x1c9 12800 018d 07 .uleb128 0x7 12801 018e 31130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4913 12802 0192 13030000 .4byte .LLST17 12803 0196 0B030000 .4byte .LVUS17 12804 019a 04 .uleb128 0x4 12805 019b 3E130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4926 12806 019f 01 .byte 0x1 12807 01a0 51 .byte 0x51 12808 01a1 07 .uleb128 0x7 12809 01a2 4A130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4938 12810 01a6 5F030000 .4byte .LLST18 12811 01aa 53030000 .4byte .LVUS18 12812 01ae 05 .uleb128 0x5 12813 01af 57130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4951 12814 01b3 CC030000 .4byte .LLST19 12815 01b7 C4030000 .4byte .LVUS19 12816 01bb 05 .uleb128 0x5 12817 01bc 64130000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4964 12818 01c0 12040000 .4byte .LLST20 12819 01c4 0C040000 .4byte .LVUS20 12820 01c8 00 .byte 0 12821 01c9 06 .uleb128 0x6 12822 01ca 931A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6803 12823 01ce 00000000 .4byte .LFB10 12824 01d2 20000000 .4byte .LFE10 12825 01d6 4A040000 .4byte .LLST21 12826 01da 01 .byte 0x1 12827 01db 2F020000 .4byte 0x22f 12828 01df 07 .uleb128 0x7 12829 01e0 9F1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6815 12830 01e4 6E040000 .4byte .LLST22 12831 01e8 6A040000 .4byte .LVUS22 12832 01ec 0C .uleb128 0xc ARM GAS /tmp/ccJhhmLc.s page 702 12833 01ed 931A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6803 12834 01f1 10000000 .4byte .LBI10 12835 01f5 0000 .2byte .LVU191 12836 01f7 10000000 .4byte .LBB10 12837 01fb 1E000000 .4byte .LBE10 12838 01ff 03 .byte 0x3 12839 0200 3D .byte 0x3d 12840 0201 0D .byte 0xd 12841 0202 25020000 .4byte 0x225 12842 0206 07 .uleb128 0x7 12843 0207 9F1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6815 12844 020b 8E040000 .4byte .LLST23 12845 020f 8C040000 .4byte .LVUS23 12846 0213 0D .uleb128 0xd 12847 0214 18000000 .4byte .LVL35 12848 0218 34020000 .4byte 0x234 12849 021c 0E .uleb128 0xe 12850 021d 01 .byte 0x1 12851 021e 50 .byte 0x50 12852 021f 03 .byte 0x3 12853 0220 74 .byte 0x74 12854 0221 D800 .sleb128 88 12855 0223 00 .byte 0 12856 0224 00 .byte 0 12857 0225 0F .uleb128 0xf 12858 0226 0E000000 .4byte .LVL33 12859 022a 2F020000 .4byte 0x22f 12860 022e 00 .byte 0 12861 022f 10 .uleb128 0x10 12862 0230 85150000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5509 12863 0234 10 .uleb128 0x10 12864 0235 6D150000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5485 12865 0239 06 .uleb128 0x6 12866 023a 8B1A0000 .4byte diskio_sdio.cpp.13d9822e+6795 12867 023e 00000000 .4byte .LFB13 12868 0242 3C000000 .4byte .LFE13 12869 0246 A1040000 .4byte .LLST24 12870 024a 01 .byte 0x1 12871 024b ED020000 .4byte 0x2ed 12872 024f 05 .uleb128 0x5 12873 0250 A91A0000 .4byte diskio_sdio.cpp.13d9822e+6825 12874 0254 C3040000 .4byte .LLST25 12875 0258 C1040000 .4byte .LVUS25 12876 025c 11 .uleb128 0x11 12877 025d 9C1A0000 .4byte diskio_sdio.cpp.13d9822e+6812 12878 0261 2C01 .2byte 0x12c 12879 0263 12 .uleb128 0x12 12880 0264 37050000 .4byte stm32_hal.cpp.4653489c+1335 12881 0268 02000000 .4byte .LBB24 12882 026c 06000000 .4byte .LBE24 12883 0270 04 .byte 0x4 12884 0271 7801 .2byte 0x178 12885 0273 1F .byte 0x1f 12886 0274 89020000 .4byte 0x289 12887 0278 13 .uleb128 0x13 12888 0279 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 12889 027d 02000000 .4byte .LBB25 ARM GAS /tmp/ccJhhmLc.s page 703 12890 0281 06000000 .4byte .LBE25 12891 0285 0B .byte 0xb 12892 0286 1B .byte 0x1b 12893 0287 1B .byte 0x1b 12894 0288 00 .byte 0 12895 0289 12 .uleb128 0x12 12896 028a 37050000 .4byte stm32_hal.cpp.4653489c+1335 12897 028e 06000000 .4byte .LBB27 12898 0292 08000000 .4byte .LBE27 12899 0296 04 .byte 0x4 12900 0297 7A01 .2byte 0x17a 12901 0299 14 .byte 0x14 12902 029a AF020000 .4byte 0x2af 12903 029e 13 .uleb128 0x13 12904 029f C70D0000 .4byte timers_driver.cpp.9287e71d+3527 12905 02a3 06000000 .4byte .LBB28 12906 02a7 08000000 .4byte .LBE28 12907 02ab 0B .byte 0xb 12908 02ac 1B .byte 0x1b 12909 02ad 1B .byte 0x1b 12910 02ae 00 .byte 0 12911 02af 14 .uleb128 0x14 12912 02b0 B61A0000 .4byte diskio_sdio.cpp.13d9822e+6838 12913 02b4 18000000 .4byte .Ldebug_ranges0+0x18 12914 02b8 0B .uleb128 0xb 12915 02b9 B71A0000 .4byte diskio_sdio.cpp.13d9822e+6839 12916 02bd 08 .uleb128 0x8 12917 02be C61A0000 .4byte diskio_sdio.cpp.13d9822e+6854 12918 02c2 30000000 .4byte .Ldebug_ranges0+0x30 12919 02c6 04 .byte 0x4 12920 02c7 7B01 .2byte 0x17b 12921 02c9 27 .byte 0x27 12922 02ca 0A .uleb128 0xa 12923 02cb 30000000 .4byte .Ldebug_ranges0+0x30 12924 02cf 05 .uleb128 0x5 12925 02d0 D71A0000 .4byte diskio_sdio.cpp.13d9822e+6871 12926 02d4 DA040000 .4byte .LLST26 12927 02d8 D6040000 .4byte .LVUS26 12928 02dc 0D .uleb128 0xd 12929 02dd 1C000000 .4byte .LVL39 12930 02e1 ED020000 .4byte 0x2ed 12931 02e5 15 .uleb128 0x15 12932 02e6 01 .byte 0x1 12933 02e7 50 .byte 0x50 12934 02e8 00 .byte 0 12935 02e9 00 .byte 0 12936 02ea 00 .byte 0 12937 02eb 00 .byte 0 12938 02ec 00 .byte 0 12939 02ed 10 .uleb128 0x10 12940 02ee 5D140000 .4byte stm32f4xx_hal_sd.c.13956b56+5213 12941 02f2 06 .uleb128 0x6 12942 02f3 3C180000 .4byte diskio_sdio.cpp.13d9822e+6204 12943 02f7 00000000 .4byte .LFB17 12944 02fb 38000000 .4byte .LFE17 12945 02ff F8040000 .4byte .LLST27 12946 0303 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 704 12947 0304 8F040000 .4byte 0x48f 12948 0308 07 .uleb128 0x7 12949 0309 52180000 .4byte diskio_sdio.cpp.13d9822e+6226 12950 030d 20050000 .4byte .LLST28 12951 0311 18050000 .4byte .LVUS28 12952 0315 07 .uleb128 0x7 12953 0316 5F180000 .4byte diskio_sdio.cpp.13d9822e+6239 12954 031a 6E050000 .4byte .LLST29 12955 031e 66050000 .4byte .LVUS29 12956 0322 07 .uleb128 0x7 12957 0323 6C180000 .4byte diskio_sdio.cpp.13d9822e+6252 12958 0327 BC050000 .4byte .LLST30 12959 032b B4050000 .4byte .LVUS30 12960 032f 05 .uleb128 0x5 12961 0330 79180000 .4byte diskio_sdio.cpp.13d9822e+6265 12962 0334 08060000 .4byte .LLST31 12963 0338 02060000 .4byte .LVUS31 12964 033c 16 .uleb128 0x16 12965 033d F2180000 .4byte diskio_sdio.cpp.13d9822e+6386 12966 0341 0E000000 .4byte .LBI50 12967 0345 0200 .2byte .LVU222 12968 0347 0E000000 .4byte .LBB50 12969 034b 12000000 .4byte .LBE50 12970 034f 04 .byte 0x4 12971 0350 3A02 .2byte 0x23a 12972 0352 22 .byte 0x22 12973 0353 94030000 .4byte 0x394 12974 0357 07 .uleb128 0x7 12975 0358 03190000 .4byte diskio_sdio.cpp.13d9822e+6403 12976 035c 35060000 .4byte .LLST32 12977 0360 33060000 .4byte .LVUS32 12978 0364 0B .uleb128 0xb 12979 0365 10190000 .4byte diskio_sdio.cpp.13d9822e+6416 12980 0369 17 .uleb128 0x17 12981 036a FA140000 .4byte stm32f4xx_hal_sd.c.13956b56+5370 12982 036e 0E000000 .4byte .LBI52 12983 0372 0500 .2byte .LVU225 12984 0374 0E000000 .4byte .LBB52 12985 0378 12000000 .4byte .LBE52 12986 037c 04 .byte 0x4 12987 037d 1802 .2byte 0x218 12988 037f 18 .byte 0x18 12989 0380 09 .uleb128 0x9 12990 0381 0D150000 .4byte stm32f4xx_hal_sd.c.13956b56+5389 12991 0385 07 .uleb128 0x7 12992 0386 1A150000 .4byte stm32f4xx_hal_sd.c.13956b56+5402 12993 038a 4A060000 .4byte .LLST34 12994 038e 48060000 .4byte .LVUS34 12995 0392 00 .byte 0 12996 0393 00 .byte 0 12997 0394 18 .uleb128 0x18 12998 0395 87180000 .4byte diskio_sdio.cpp.13d9822e+6279 12999 0399 1E000000 .4byte .LBI54 13000 039d 0300 .2byte .LVU249 13001 039f 48000000 .4byte .Ldebug_ranges0+0x48 13002 03a3 04 .byte 0x4 13003 03a4 4202 .2byte 0x242 ARM GAS /tmp/ccJhhmLc.s page 705 13004 03a6 20 .byte 0x20 13005 03a7 23040000 .4byte 0x423 13006 03ab 07 .uleb128 0x7 13007 03ac 98180000 .4byte diskio_sdio.cpp.13d9822e+6296 13008 03b0 64060000 .4byte .LLST35 13009 03b4 62060000 .4byte .LVUS35 13010 03b8 0A .uleb128 0xa 13011 03b9 48000000 .4byte .Ldebug_ranges0+0x48 13012 03bd 0B .uleb128 0xb 13013 03be A5180000 .4byte diskio_sdio.cpp.13d9822e+6309 13014 03c2 05 .uleb128 0x5 13015 03c3 B2180000 .4byte diskio_sdio.cpp.13d9822e+6322 13016 03c7 79060000 .4byte .LLST37 13017 03cb 77060000 .4byte .LVUS37 13018 03cf 19 .uleb128 0x19 13019 03d0 C6180000 .4byte diskio_sdio.cpp.13d9822e+6342 13020 03d4 1E000000 .4byte .LBI56 13021 03d8 0600 .2byte .LVU252 13022 03da 60000000 .4byte .Ldebug_ranges0+0x60 13023 03de 04 .byte 0x4 13024 03df 2E02 .2byte 0x22e 13025 03e1 25 .byte 0x25 13026 03e2 07 .uleb128 0x7 13027 03e3 D7180000 .4byte diskio_sdio.cpp.13d9822e+6359 13028 03e7 8F060000 .4byte .LLST38 13029 03eb 8D060000 .4byte .LVUS38 13030 03ef 0A .uleb128 0xa 13031 03f0 60000000 .4byte .Ldebug_ranges0+0x60 13032 03f4 0B .uleb128 0xb 13033 03f5 E4180000 .4byte diskio_sdio.cpp.13d9822e+6372 13034 03f9 19 .uleb128 0x19 13035 03fa FA140000 .4byte stm32f4xx_hal_sd.c.13956b56+5370 13036 03fe 1E000000 .4byte .LBI58 13037 0402 0900 .2byte .LVU255 13038 0404 60000000 .4byte .Ldebug_ranges0+0x60 13039 0408 04 .byte 0x4 13040 0409 2302 .2byte 0x223 13041 040b 18 .byte 0x18 13042 040c 09 .uleb128 0x9 13043 040d 0D150000 .4byte stm32f4xx_hal_sd.c.13956b56+5389 13044 0411 07 .uleb128 0x7 13045 0412 1A150000 .4byte stm32f4xx_hal_sd.c.13956b56+5402 13046 0416 A9060000 .4byte .LLST39 13047 041a A7060000 .4byte .LVUS39 13048 041e 00 .byte 0 13049 041f 00 .byte 0 13050 0420 00 .byte 0 13051 0421 00 .byte 0 13052 0422 00 .byte 0 13053 0423 16 .uleb128 0x16 13054 0424 C6180000 .4byte diskio_sdio.cpp.13d9822e+6342 13055 0428 18000000 .4byte .LBI64 13056 042c 0200 .2byte .LVU239 13057 042e 18000000 .4byte .LBB64 13058 0432 1E000000 .4byte .LBE64 13059 0436 04 .byte 0x4 13060 0437 3E02 .2byte 0x23e ARM GAS /tmp/ccJhhmLc.s page 706 13061 0439 21 .byte 0x21 13062 043a 7B040000 .4byte 0x47b 13063 043e 07 .uleb128 0x7 13064 043f D7180000 .4byte diskio_sdio.cpp.13d9822e+6359 13065 0443 C3060000 .4byte .LLST40 13066 0447 C1060000 .4byte .LVUS40 13067 044b 0B .uleb128 0xb 13068 044c E4180000 .4byte diskio_sdio.cpp.13d9822e+6372 13069 0450 17 .uleb128 0x17 13070 0451 FA140000 .4byte stm32f4xx_hal_sd.c.13956b56+5370 13071 0455 18000000 .4byte .LBI66 13072 0459 0500 .2byte .LVU242 13073 045b 18000000 .4byte .LBB66 13074 045f 1C000000 .4byte .LBE66 13075 0463 04 .byte 0x4 13076 0464 2302 .2byte 0x223 13077 0466 18 .byte 0x18 13078 0467 09 .uleb128 0x9 13079 0468 0D150000 .4byte stm32f4xx_hal_sd.c.13956b56+5389 13080 046c 07 .uleb128 0x7 13081 046d 1A150000 .4byte stm32f4xx_hal_sd.c.13956b56+5402 13082 0471 D8060000 .4byte .LLST42 13083 0475 D6060000 .4byte .LVUS42 13084 0479 00 .byte 0 13085 047a 00 .byte 0 13086 047b 0D .uleb128 0xd 13087 047c 2A000000 .4byte .LVL51 13088 0480 39020000 .4byte 0x239 13089 0484 1A .uleb128 0x1a 13090 0485 98040000 .4byte 0x498 13091 0489 03 .byte 0x3 13092 048a 0A .byte 0xa 13093 048b 2C01 .2byte 0x12c 13094 048d 00 .byte 0 13095 048e 00 .byte 0 13096 048f 1B .uleb128 0x1b 13097 0490 8B1A0000 .4byte diskio_sdio.cpp.13d9822e+6795 13098 0494 9E040000 .4byte 0x49e 13099 0498 09 .uleb128 0x9 13100 0499 9C1A0000 .4byte diskio_sdio.cpp.13d9822e+6812 13101 049d 00 .byte 0 13102 049e 06 .uleb128 0x6 13103 049f E61A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6886 13104 04a3 00000000 .4byte .LFB24 13105 04a7 1C000000 .4byte .LFE24 13106 04ab F0060000 .4byte .LLST43 13107 04af 01 .byte 0x1 13108 04b0 08050000 .4byte 0x508 13109 04b4 07 .uleb128 0x7 13110 04b5 F41A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6900 13111 04b9 14070000 .4byte .LLST44 13112 04bd 10070000 .4byte .LVUS44 13113 04c1 07 .uleb128 0x7 13114 04c2 FE1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6910 13115 04c6 36070000 .4byte .LLST45 13116 04ca 32070000 .4byte .LVUS45 13117 04ce 1C .uleb128 0x1c ARM GAS /tmp/ccJhhmLc.s page 707 13118 04cf E61A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6886 13119 04d3 10000000 .4byte .LBB77 13120 04d7 1A000000 .4byte .LBE77 13121 04db 07 .byte 0x7 13122 04dc 74 .byte 0x74 13123 04dd 03 .byte 0x3 13124 04de FE040000 .4byte 0x4fe 13125 04e2 09 .uleb128 0x9 13126 04e3 FE1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6910 13127 04e7 07 .uleb128 0x7 13128 04e8 F41A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6900 13129 04ec 5F070000 .4byte .LLST46 13130 04f0 5D070000 .4byte .LVUS46 13131 04f4 0F .uleb128 0xf 13132 04f5 16000000 .4byte .LVL55 13133 04f9 08050000 .4byte 0x508 13134 04fd 00 .byte 0 13135 04fe 0F .uleb128 0xf 13136 04ff 0E000000 .4byte .LVL53 13137 0503 2F020000 .4byte 0x22f 13138 0507 00 .byte 0 13139 0508 10 .uleb128 0x10 13140 0509 51150000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5457 13141 050d 06 .uleb128 0x6 13142 050e 4E1B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6990 13143 0512 00000000 .4byte .LFB27 13144 0516 1A000000 .4byte .LFE27 13145 051a 72070000 .4byte .LLST47 13146 051e 01 .byte 0x1 13147 051f 62050000 .4byte 0x562 13148 0523 07 .uleb128 0x7 13149 0524 391B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6969 13150 0528 B2070000 .4byte .LLST48 13151 052c AA070000 .4byte .LVUS48 13152 0530 1D .uleb128 0x1d 13153 0531 4E1B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6990 13154 0535 78000000 .4byte .Ldebug_ranges0+0x78 13155 0539 07 .byte 0x7 13156 053a 67 .byte 0x67 13157 053b 03 .byte 0x3 13158 053c 58050000 .4byte 0x558 13159 0540 07 .uleb128 0x7 13160 0541 391B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6969 13161 0545 F3070000 .4byte .LLST49 13162 0549 EF070000 .4byte .LVUS49 13163 054d 1E .uleb128 0x1e 13164 054e 18000000 .4byte .LVL61 13165 0552 01 .byte 0x1 13166 0553 62050000 .4byte 0x562 13167 0557 00 .byte 0 13168 0558 0F .uleb128 0xf 13169 0559 08000000 .4byte .LVL58 13170 055d 2F020000 .4byte 0x22f 13171 0561 00 .byte 0 13172 0562 10 .uleb128 0x10 13173 0563 39150000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5433 13174 0567 06 .uleb128 0x6 ARM GAS /tmp/ccJhhmLc.s page 708 13175 0568 DE170000 .4byte diskio_sdio.cpp.13d9822e+6110 13176 056c 00000000 .4byte .LFB29 13177 0570 E8010000 .4byte .LFE29 13178 0574 1A080000 .4byte .LLST50 13179 0578 01 .byte 0x1 13180 0579 D1070000 .4byte 0x7d1 13181 057d 19 .uleb128 0x19 13182 057e B7160000 .4byte stm32f4xx_hal_sd.c.13956b56+5815 13183 0582 00000000 .4byte .LBI121 13184 0586 0300 .2byte .LVU299 13185 0588 90000000 .4byte .Ldebug_ranges0+0x90 13186 058c 04 .byte 0x4 13187 058d 8802 .2byte 0x288 13188 058f 14 .byte 0x14 13189 0590 09 .uleb128 0x9 13190 0591 C6160000 .4byte stm32f4xx_hal_sd.c.13956b56+5830 13191 0595 0A .uleb128 0xa 13192 0596 98000000 .4byte .Ldebug_ranges0+0x98 13193 059a 05 .uleb128 0x5 13194 059b D3160000 .4byte stm32f4xx_hal_sd.c.13956b56+5843 13195 059f 56080000 .4byte .LLST52 13196 05a3 52080000 .4byte .LVUS52 13197 05a7 05 .uleb128 0x5 13198 05a8 E0160000 .4byte stm32f4xx_hal_sd.c.13956b56+5856 13199 05ac 7C080000 .4byte .LLST53 13200 05b0 74080000 .4byte .LVUS53 13201 05b4 16 .uleb128 0x16 13202 05b5 2E100000 .4byte stm32f4xx_hal_sd.c.13956b56+4142 13203 05b9 12000000 .4byte .LBI123 13204 05bd 0000 .2byte .LVU308 13205 05bf 12000000 .4byte .LBB123 13206 05c3 48000000 .4byte .LBE123 13207 05c7 06 .byte 0x6 13208 05c8 ED05 .2byte 0x5ed 13209 05ca 05 .byte 0x5 13210 05cb 26060000 .4byte 0x626 13211 05cf 09 .uleb128 0x9 13212 05d0 3C100000 .4byte stm32f4xx_hal_sd.c.13956b56+4156 13213 05d4 0B .uleb128 0xb 13214 05d5 49100000 .4byte stm32f4xx_hal_sd.c.13956b56+4169 13215 05d9 05 .uleb128 0x5 13216 05da 56100000 .4byte stm32f4xx_hal_sd.c.13956b56+4182 13217 05de B2080000 .4byte .LLST55 13218 05e2 B0080000 .4byte .LVUS55 13219 05e6 05 .uleb128 0x5 13220 05e7 63100000 .4byte stm32f4xx_hal_sd.c.13956b56+4195 13221 05eb C7080000 .4byte .LLST56 13222 05ef C5080000 .4byte .LVUS56 13223 05f3 05 .uleb128 0x5 13224 05f4 70100000 .4byte stm32f4xx_hal_sd.c.13956b56+4208 13225 05f8 E6080000 .4byte .LLST57 13226 05fc DA080000 .4byte .LVUS57 13227 0600 17 .uleb128 0x17 13228 0601 670E0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3687 13229 0605 20000000 .4byte .LBI125 13230 0609 0000 .2byte .LVU313 13231 060b 20000000 .4byte .LBB125 ARM GAS /tmp/ccJhhmLc.s page 709 13232 060f 24000000 .4byte .LBE125 13233 0613 06 .byte 0x6 13234 0614 810C .2byte 0xc81 13235 0616 0E .byte 0xe 13236 0617 07 .uleb128 0x7 13237 0618 7A0E0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3706 13238 061c 3C090000 .4byte .LLST58 13239 0620 3A090000 .4byte .LVUS58 13240 0624 00 .byte 0 13241 0625 00 .byte 0 13242 0626 18 .uleb128 0x18 13243 0627 20180000 .4byte diskio_sdio.cpp.13d9822e+6176 13244 062b 84000000 .4byte .LBI127 13245 062f 0000 .2byte .LVU346 13246 0631 B8000000 .4byte .Ldebug_ranges0+0xb8 13247 0635 06 .byte 0x6 13248 0636 0B06 .2byte 0x60b 13249 0638 0B .byte 0xb 13250 0639 43060000 .4byte 0x643 13251 063d 09 .uleb128 0x9 13252 063e 2E180000 .4byte diskio_sdio.cpp.13d9822e+6190 13253 0642 00 .byte 0 13254 0643 16 .uleb128 0x16 13255 0644 E8170000 .4byte diskio_sdio.cpp.13d9822e+6120 13256 0648 9C000000 .4byte .LBI131 13257 064c 0000 .2byte .LVU354 13258 064e 9C000000 .4byte .LBB131 13259 0652 9E000000 .4byte .LBE131 13260 0656 06 .byte 0x6 13261 0657 1A06 .2byte 0x61a 13262 0659 09 .byte 0x9 13263 065a 64060000 .4byte 0x664 13264 065e 09 .uleb128 0x9 13265 065f F6170000 .4byte diskio_sdio.cpp.13d9822e+6134 13266 0663 00 .byte 0 13267 0664 18 .uleb128 0x18 13268 0665 F2060000 .4byte stm32f4xx_hal_dma.c.29f76e30+1778 13269 0669 96010000 .4byte .LBI133 13270 066d 0000 .2byte .LVU433 13271 066f D0000000 .4byte .Ldebug_ranges0+0xd0 13272 0673 06 .byte 0x6 13273 0674 9C06 .2byte 0x69c 13274 0676 0C .byte 0xc 13275 0677 AA060000 .4byte 0x6aa 13276 067b 07 .uleb128 0x7 13277 067c 05070000 .4byte stm32f4xx_hal_dma.c.29f76e30+1797 13278 0680 53090000 .4byte .LLST61 13279 0684 4F090000 .4byte .LVUS61 13280 0688 19 .uleb128 0x19 13281 0689 F2060000 .4byte stm32f4xx_hal_dma.c.29f76e30+1778 13282 068d B6010000 .4byte .LBI135 13283 0691 0000 .2byte .LVU448 13284 0693 F8000000 .4byte .Ldebug_ranges0+0xf8 13285 0697 09 .byte 0x9 13286 0698 4502 .2byte 0x245 13287 069a 13 .byte 0x13 13288 069b 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 710 13289 069c 05070000 .4byte stm32f4xx_hal_dma.c.29f76e30+1797 13290 06a0 73090000 .4byte .LLST62 13291 06a4 71090000 .4byte .LVUS62 13292 06a8 00 .byte 0 13293 06a9 00 .byte 0 13294 06aa 18 .uleb128 0x18 13295 06ab 20180000 .4byte diskio_sdio.cpp.13d9822e+6176 13296 06af BA000000 .4byte .LBI142 13297 06b3 0000 .2byte .LVU368 13298 06b5 10010000 .4byte .Ldebug_ranges0+0x110 13299 06b9 06 .byte 0x6 13300 06ba 3106 .2byte 0x631 13301 06bc 0B .byte 0xb 13302 06bd C7060000 .4byte 0x6c7 13303 06c1 09 .uleb128 0x9 13304 06c2 2E180000 .4byte diskio_sdio.cpp.13d9822e+6190 13305 06c6 00 .byte 0 13306 06c7 16 .uleb128 0x16 13307 06c8 04180000 .4byte diskio_sdio.cpp.13d9822e+6148 13308 06cc D0000000 .4byte .LBI146 13309 06d0 0000 .2byte .LVU375 13310 06d2 D0000000 .4byte .LBB146 13311 06d6 D4000000 .4byte .LBE146 13312 06da 06 .byte 0x6 13313 06db 4006 .2byte 0x640 13314 06dd 09 .byte 0x9 13315 06de E8060000 .4byte 0x6e8 13316 06e2 09 .uleb128 0x9 13317 06e3 12180000 .4byte diskio_sdio.cpp.13d9822e+6162 13318 06e7 00 .byte 0 13319 06e8 16 .uleb128 0x16 13320 06e9 D80F0000 .4byte stm32f4xx_hal_sd.c.13956b56+4056 13321 06ed DE000000 .4byte .LBI148 13322 06f1 0000 .2byte .LVU381 13323 06f3 DE000000 .4byte .LBB148 13324 06f7 FE000000 .4byte .LBE148 13325 06fb 06 .byte 0x6 13326 06fc 4C06 .2byte 0x64c 13327 06fe 05 .byte 0x5 13328 06ff 67070000 .4byte 0x767 13329 0703 09 .uleb128 0x9 13330 0704 E60F0000 .4byte stm32f4xx_hal_sd.c.13956b56+4070 13331 0708 0B .uleb128 0xb 13332 0709 F30F0000 .4byte stm32f4xx_hal_sd.c.13956b56+4083 13333 070d 05 .uleb128 0x5 13334 070e 00100000 .4byte stm32f4xx_hal_sd.c.13956b56+4096 13335 0712 88090000 .4byte .LLST66 13336 0716 86090000 .4byte .LVUS66 13337 071a 05 .uleb128 0x5 13338 071b 0D100000 .4byte stm32f4xx_hal_sd.c.13956b56+4109 13339 071f C2090000 .4byte .LLST67 13340 0723 C0090000 .4byte .LVUS67 13341 0727 05 .uleb128 0x5 13342 0728 1A100000 .4byte stm32f4xx_hal_sd.c.13956b56+4122 13343 072c D7090000 .4byte .LLST68 13344 0730 D5090000 .4byte .LVUS68 13345 0734 17 .uleb128 0x17 ARM GAS /tmp/ccJhhmLc.s page 711 13346 0735 330E0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3635 13347 0739 EE000000 .4byte .LBI150 13348 073d 0000 .2byte .LVU386 13349 073f EE000000 .4byte .LBB150 13350 0743 F2000000 .4byte .LBE150 13351 0747 06 .byte 0x6 13352 0748 B40C .2byte 0xcb4 13353 074a 0D .byte 0xd 13354 074b 07 .uleb128 0x7 13355 074c 530E0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3667 13356 0750 EC090000 .4byte .LLST69 13357 0754 EA090000 .4byte .LVUS69 13358 0758 07 .uleb128 0x7 13359 0759 460E0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3654 13360 075d 060A0000 .4byte .LLST70 13361 0761 040A0000 .4byte .LVUS70 13362 0765 00 .byte 0 13363 0766 00 .byte 0 13364 0767 16 .uleb128 0x16 13365 0768 20180000 .4byte diskio_sdio.cpp.13d9822e+6176 13366 076c 7C010000 .4byte .LBI152 13367 0770 0000 .2byte .LVU425 13368 0772 7C010000 .4byte .LBB152 13369 0776 84010000 .4byte .LBE152 13370 077a 06 .byte 0x6 13371 077b 8706 .2byte 0x687 13372 077d 07 .byte 0x7 13373 077e 88070000 .4byte 0x788 13374 0782 09 .uleb128 0x9 13375 0783 2E180000 .4byte diskio_sdio.cpp.13d9822e+6190 13376 0787 00 .byte 0 13377 0788 1F .uleb128 0x1f 13378 0789 7A000000 .4byte .LVL77 13379 078d D1070000 .4byte 0x7d1 13380 0791 9C070000 .4byte 0x79c 13381 0795 0E .uleb128 0xe 13382 0796 01 .byte 0x1 13383 0797 50 .byte 0x50 13384 0798 02 .byte 0x2 13385 0799 75 .byte 0x75 13386 079a 00 .sleb128 0 13387 079b 00 .byte 0 13388 079c 1F .uleb128 0x1f 13389 079d B0000000 .4byte .LVL84 13390 07a1 D1070000 .4byte 0x7d1 13391 07a5 B0070000 .4byte 0x7b0 13392 07a9 0E .uleb128 0xe 13393 07aa 01 .byte 0x1 13394 07ab 50 .byte 0x50 13395 07ac 02 .byte 0x2 13396 07ad 75 .byte 0x75 13397 07ae 00 .sleb128 0 13398 07af 00 .byte 0 13399 07b0 1F .uleb128 0x1f 13400 07b1 66010000 .4byte .LVL96 13401 07b5 D1070000 .4byte 0x7d1 13402 07b9 C4070000 .4byte 0x7c4 ARM GAS /tmp/ccJhhmLc.s page 712 13403 07bd 0E .uleb128 0xe 13404 07be 01 .byte 0x1 13405 07bf 50 .byte 0x50 13406 07c0 02 .byte 0x2 13407 07c1 75 .byte 0x75 13408 07c2 00 .sleb128 0 13409 07c3 00 .byte 0 13410 07c4 1E .uleb128 0x1e 13411 07c5 AA010000 .4byte .LVL102 13412 07c9 01 .byte 0x1 13413 07ca D6070000 .4byte 0x7d6 13414 07ce 00 .byte 0 13415 07cf 00 .byte 0 13416 07d0 00 .byte 0 13417 07d1 10 .uleb128 0x10 13418 07d2 84090000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2436 13419 07d6 10 .uleb128 0x10 13420 07d7 02130000 .4byte stm32f4xx_hal_sd.c.13956b56+4866 13421 07db 06 .uleb128 0x6 13422 07dc D4170000 .4byte diskio_sdio.cpp.13d9822e+6100 13423 07e0 00000000 .4byte .LFB49 13424 07e4 80010000 .4byte .LFE49 13425 07e8 190A0000 .4byte .LLST72 13426 07ec 01 .byte 0x1 13427 07ed 6A080000 .4byte 0x86a 13428 07f1 19 .uleb128 0x19 13429 07f2 1F060000 .4byte stm32f4xx_hal_dma.c.29f76e30+1567 13430 07f6 00000000 .4byte .LBI164 13431 07fa 0300 .2byte .LVU464 13432 07fc 28010000 .4byte .Ldebug_ranges0+0x128 13433 0800 04 .byte 0x4 13434 0801 8F02 .2byte 0x28f 13435 0803 15 .byte 0x15 13436 0804 09 .uleb128 0x9 13437 0805 2E060000 .4byte stm32f4xx_hal_dma.c.29f76e30+1582 13438 0809 0A .uleb128 0xa 13439 080a 30010000 .4byte .Ldebug_ranges0+0x130 13440 080e 05 .uleb128 0x5 13441 080f 3B060000 .4byte stm32f4xx_hal_dma.c.29f76e30+1595 13442 0813 6D0A0000 .4byte .LLST73 13443 0817 690A0000 .4byte .LVUS73 13444 081b 20 .uleb128 0x20 13445 081c 48060000 .4byte stm32f4xx_hal_dma.c.29f76e30+1608 13446 0820 02 .byte 0x2 13447 0821 91 .byte 0x91 13448 0822 64 .sleb128 -28 13449 0823 05 .uleb128 0x5 13450 0824 55060000 .4byte stm32f4xx_hal_dma.c.29f76e30+1621 13451 0828 910A0000 .4byte .LLST74 13452 082c 8B0A0000 .4byte .LVUS74 13453 0830 05 .uleb128 0x5 13454 0831 62060000 .4byte stm32f4xx_hal_dma.c.29f76e30+1634 13455 0835 E20A0000 .4byte .LLST75 13456 0839 DE0A0000 .4byte .LVUS75 13457 083d 21 .uleb128 0x21 13458 083e 92000000 .4byte .LVL110 13459 0842 4D080000 .4byte 0x84d ARM GAS /tmp/ccJhhmLc.s page 713 13460 0846 0E .uleb128 0xe 13461 0847 01 .byte 0x1 13462 0848 50 .byte 0x50 13463 0849 02 .byte 0x2 13464 084a 74 .byte 0x74 13465 084b 00 .sleb128 0 13466 084c 00 .byte 0 13467 084d 22 .uleb128 0x22 13468 084e F0000000 .4byte .LVL114 13469 0852 01 .byte 0x1 13470 0853 5B080000 .4byte 0x85b 13471 0857 15 .uleb128 0x15 13472 0858 01 .byte 0x1 13473 0859 50 .byte 0x50 13474 085a 00 .byte 0 13475 085b 23 .uleb128 0x23 13476 085c 12010000 .4byte .LVL116 13477 0860 0E .uleb128 0xe 13478 0861 01 .byte 0x1 13479 0862 50 .byte 0x50 13480 0863 02 .byte 0x2 13481 0864 74 .byte 0x74 13482 0865 00 .sleb128 0 13483 0866 00 .byte 0 13484 0867 00 .byte 0 13485 0868 00 .byte 0 13486 0869 00 .byte 0 13487 086a 03 .uleb128 0x3 13488 086b C8170000 .4byte diskio_sdio.cpp.13d9822e+6088 13489 086f 00000000 .4byte .LFB52 13490 0873 48000000 .4byte .LFE52 13491 0877 02 .byte 0x2 13492 0878 7D .byte 0x7d 13493 0879 00 .sleb128 0 13494 087a 01 .byte 0x1 13495 087b A8080000 .4byte 0x8a8 13496 087f 24 .uleb128 0x24 13497 0880 CE170000 .4byte diskio_sdio.cpp.13d9822e+6094 13498 0884 00000000 .4byte .LBB176 13499 0888 3C000000 .4byte .LBE176 13500 088c 04 .byte 0x4 13501 088d 9002 .2byte 0x290 13502 088f 01 .byte 0x1 13503 0890 25 .uleb128 0x25 13504 0891 641B0000 .4byte diskio_sdio.cpp.13d9822e+7012 13505 0895 00000000 .4byte .LBB177 13506 0899 3C000000 .4byte .LBE177 13507 089d 04 .byte 0x4 13508 089e 86 .byte 0x86 13509 089f 03 .byte 0x3 13510 08a0 09 .uleb128 0x9 13511 08a1 751B0000 .4byte diskio_sdio.cpp.13d9822e+7029 13512 08a5 00 .byte 0 13513 08a6 00 .byte 0 13514 08a7 00 .byte 0 13515 08a8 06 .uleb128 0x6 13516 08a9 FC180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6396 ARM GAS /tmp/ccJhhmLc.s page 714 13517 08ad 00000000 .4byte .LFB57 13518 08b1 54020000 .4byte .LFE57 13519 08b5 000B0000 .4byte .LLST77 13520 08b9 01 .byte 0x1 13521 08ba 940B0000 .4byte 0xb94 13522 08be 07 .uleb128 0x7 13523 08bf 12190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6418 13524 08c3 4E0B0000 .4byte .LLST78 13525 08c7 460B0000 .4byte .LVUS78 13526 08cb 07 .uleb128 0x7 13527 08cc 1F190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6431 13528 08d0 910B0000 .4byte .LLST79 13529 08d4 8B0B0000 .4byte .LVUS79 13530 08d8 07 .uleb128 0x7 13531 08d9 2C190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6444 13532 08dd C10B0000 .4byte .LLST80 13533 08e1 BB0B0000 .4byte .LVUS80 13534 08e5 07 .uleb128 0x7 13535 08e6 39190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6457 13536 08ea F30B0000 .4byte .LLST81 13537 08ee EB0B0000 .4byte .LVUS81 13538 08f2 07 .uleb128 0x7 13539 08f3 46190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6470 13540 08f7 380C0000 .4byte .LLST82 13541 08fb 300C0000 .4byte .LVUS82 13542 08ff 05 .uleb128 0x5 13543 0900 53190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6483 13544 0904 740C0000 .4byte .LLST83 13545 0908 700C0000 .4byte .LVUS83 13546 090c 20 .uleb128 0x20 13547 090d 5E190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6494 13548 0911 02 .byte 0x2 13549 0912 91 .byte 0x91 13550 0913 50 .sleb128 -48 13551 0914 18 .uleb128 0x18 13552 0915 AC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6828 13553 0919 00000000 .4byte .LBI194 13554 091d 0200 .2byte .LVU579 13555 091f 48010000 .4byte .Ldebug_ranges0+0x148 13556 0923 03 .byte 0x3 13557 0924 3A02 .2byte 0x23a 13558 0926 28 .byte 0x28 13559 0927 39090000 .4byte 0x939 13560 092b 07 .uleb128 0x7 13561 092c BC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6844 13562 0930 960C0000 .4byte .LLST84 13563 0934 920C0000 .4byte .LVUS84 13564 0938 00 .byte 0 13565 0939 18 .uleb128 0x18 13566 093a 651B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7013 13567 093e 28000000 .4byte .LBI200 13568 0942 0100 .2byte .LVU593 13569 0944 68010000 .4byte .Ldebug_ranges0+0x168 13570 0948 03 .byte 0x3 13571 0949 3D02 .2byte 0x23d 13572 094b 03 .byte 0x3 13573 094c 79090000 .4byte 0x979 ARM GAS /tmp/ccJhhmLc.s page 715 13574 0950 07 .uleb128 0x7 13575 0951 6E1B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7022 13576 0955 B60C0000 .4byte .LLST85 13577 0959 B40C0000 .4byte .LVUS85 13578 095d 0D .uleb128 0xd 13579 095e 3C000000 .4byte .LVL127 13580 0962 9E040000 .4byte 0x49e 13581 0966 0E .uleb128 0xe 13582 0967 01 .byte 0x1 13583 0968 50 .byte 0x50 13584 0969 02 .byte 0x2 13585 096a 91 .byte 0x91 13586 096b 50 .sleb128 -48 13587 096c 0E .uleb128 0xe 13588 096d 01 .byte 0x1 13589 096e 51 .byte 0x51 13590 096f 07 .byte 0x7 13591 0970 74 .byte 0x74 13592 0971 00 .sleb128 0 13593 0972 77 .byte 0x77 13594 0973 00 .sleb128 0 13595 0974 22 .byte 0x22 13596 0975 23 .byte 0x23 13597 0976 58 .uleb128 0x58 13598 0977 00 .byte 0 13599 0978 00 .byte 0 13600 0979 18 .uleb128 0x18 13601 097a DF1D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7647 13602 097e 3C000000 .4byte .LBI204 13603 0982 0200 .2byte .LVU602 13604 0984 88010000 .4byte .Ldebug_ranges0+0x188 13605 0988 03 .byte 0x3 13606 0989 3E02 .2byte 0x23e 13607 098b 1E .byte 0x1e 13608 098c 6F0B0000 .4byte 0xb6f 13609 0990 07 .uleb128 0x7 13610 0991 F21D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7666 13611 0995 DB0C0000 .4byte .LLST86 13612 0999 D10C0000 .4byte .LVUS86 13613 099d 07 .uleb128 0x7 13614 099e FF1D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7679 13615 09a2 240D0000 .4byte .LLST87 13616 09a6 1A0D0000 .4byte .LVUS87 13617 09aa 07 .uleb128 0x7 13618 09ab 0C1E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7692 13619 09af 8B0D0000 .4byte .LLST88 13620 09b3 810D0000 .4byte .LVUS88 13621 09b7 07 .uleb128 0x7 13622 09b8 191E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7705 13623 09bc DB0D0000 .4byte .LLST89 13624 09c0 CF0D0000 .4byte .LVUS89 13625 09c4 07 .uleb128 0x7 13626 09c5 261E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7718 13627 09c9 530E0000 .4byte .LLST90 13628 09cd 490E0000 .4byte .LVUS90 13629 09d1 0A .uleb128 0xa 13630 09d2 88010000 .4byte .Ldebug_ranges0+0x188 ARM GAS /tmp/ccJhhmLc.s page 716 13631 09d6 05 .uleb128 0x5 13632 09d7 331E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7731 13633 09db 9C0E0000 .4byte .LLST91 13634 09df 920E0000 .4byte .LVUS91 13635 09e3 18 .uleb128 0x18 13636 09e4 37050000 .4byte stm32_hal.cpp.4653489c+1335 13637 09e8 3C000000 .4byte .LBI206 13638 09ec 0400 .2byte .LVU604 13639 09ee D0010000 .4byte .Ldebug_ranges0+0x1d0 13640 09f2 0A .byte 0xa 13641 09f3 0B04 .2byte 0x40b 13642 09f5 18 .byte 0x18 13643 09f6 0D0A0000 .4byte 0xa0d 13644 09fa 26 .uleb128 0x26 13645 09fb C70D0000 .4byte timers_driver.cpp.9287e71d+3527 13646 09ff 3C000000 .4byte .LBI207 13647 0a03 0600 .2byte .LVU606 13648 0a05 D0010000 .4byte .Ldebug_ranges0+0x1d0 13649 0a09 0B .byte 0xb 13650 0a0a 1B .byte 0x1b 13651 0a0b 1B .byte 0x1b 13652 0a0c 00 .byte 0 13653 0a0d 18 .uleb128 0x18 13654 0a0e 690B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2921 13655 0a12 BE000000 .4byte .LBI212 13656 0a16 0100 .2byte .LVU648 13657 0a18 E8010000 .4byte .Ldebug_ranges0+0x1e8 13658 0a1c 0A .byte 0xa 13659 0a1d 2D04 .2byte 0x42d 13660 0a1f 09 .byte 0x9 13661 0a20 E90A0000 .4byte 0xae9 13662 0a24 07 .uleb128 0x7 13663 0a25 7B0B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2939 13664 0a29 E10E0000 .4byte .LLST92 13665 0a2d DB0E0000 .4byte .LVUS92 13666 0a31 07 .uleb128 0x7 13667 0a32 880B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2952 13668 0a36 100F0000 .4byte .LLST93 13669 0a3a 0A0F0000 .4byte .LVUS93 13670 0a3e 07 .uleb128 0x7 13671 0a3f 950B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2965 13672 0a43 510F0000 .4byte .LLST94 13673 0a47 4B0F0000 .4byte .LVUS94 13674 0a4b 07 .uleb128 0x7 13675 0a4c A20B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2978 13676 0a50 800F0000 .4byte .LLST95 13677 0a54 7A0F0000 .4byte .LVUS95 13678 0a58 0A .uleb128 0xa 13679 0a59 E8010000 .4byte .Ldebug_ranges0+0x1e8 13680 0a5d 05 .uleb128 0x5 13681 0a5e AF0B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2991 13682 0a62 AB0F0000 .4byte .LLST96 13683 0a66 A90F0000 .4byte .LVUS96 13684 0a6a 1F .uleb128 0x1f 13685 0a6b EE000000 .4byte .LVL139 13686 0a6f 940B0000 .4byte 0xb94 13687 0a73 990A0000 .4byte 0xa99 ARM GAS /tmp/ccJhhmLc.s page 717 13688 0a77 0E .uleb128 0xe 13689 0a78 01 .byte 0x1 13690 0a79 50 .byte 0x50 13691 0a7a 02 .byte 0x2 13692 0a7b 76 .byte 0x76 13693 0a7c 00 .sleb128 0 13694 0a7d 0E .uleb128 0xe 13695 0a7e 01 .byte 0x1 13696 0a7f 51 .byte 0x51 13697 0a80 05 .byte 0x5 13698 0a81 0C .byte 0xc 13699 0a82 01000100 .4byte 0x10001 13700 0a86 0E .uleb128 0xe 13701 0a87 01 .byte 0x1 13702 0a88 52 .byte 0x52 13703 0a89 01 .byte 0x1 13704 0a8a 30 .byte 0x30 13705 0a8b 0E .uleb128 0xe 13706 0a8c 01 .byte 0x1 13707 0a8d 53 .byte 0x53 13708 0a8e 02 .byte 0x2 13709 0a8f 78 .byte 0x78 13710 0a90 00 .sleb128 0 13711 0a91 0E .uleb128 0xe 13712 0a92 02 .byte 0x2 13713 0a93 7D .byte 0x7d 13714 0a94 00 .sleb128 0 13715 0a95 02 .byte 0x2 13716 0a96 77 .byte 0x77 13717 0a97 00 .sleb128 0 13718 0a98 00 .byte 0 13719 0a99 1F .uleb128 0x1f 13720 0a9a 32010000 .4byte .LVL143 13721 0a9e 990B0000 .4byte 0xb99 13722 0aa2 C20A0000 .4byte 0xac2 13723 0aa6 0E .uleb128 0xe 13724 0aa7 01 .byte 0x1 13725 0aa8 50 .byte 0x50 13726 0aa9 02 .byte 0x2 13727 0aaa 76 .byte 0x76 13728 0aab 00 .sleb128 0 13729 0aac 0E .uleb128 0xe 13730 0aad 01 .byte 0x1 13731 0aae 51 .byte 0x51 13732 0aaf 05 .byte 0x5 13733 0ab0 0C .byte 0xc 13734 0ab1 02000100 .4byte 0x10002 13735 0ab5 0E .uleb128 0xe 13736 0ab6 01 .byte 0x1 13737 0ab7 52 .byte 0x52 13738 0ab8 02 .byte 0x2 13739 0ab9 78 .byte 0x78 13740 0aba 00 .sleb128 0 13741 0abb 0E .uleb128 0xe 13742 0abc 01 .byte 0x1 13743 0abd 53 .byte 0x53 13744 0abe 02 .byte 0x2 ARM GAS /tmp/ccJhhmLc.s page 718 13745 0abf 77 .byte 0x77 13746 0ac0 00 .sleb128 0 13747 0ac1 00 .byte 0 13748 0ac2 0D .uleb128 0xd 13749 0ac3 90010000 .4byte .LVL147 13750 0ac7 990B0000 .4byte 0xb99 13751 0acb 0E .uleb128 0xe 13752 0acc 01 .byte 0x1 13753 0acd 50 .byte 0x50 13754 0ace 02 .byte 0x2 13755 0acf 76 .byte 0x76 13756 0ad0 00 .sleb128 0 13757 0ad1 0E .uleb128 0xe 13758 0ad2 01 .byte 0x1 13759 0ad3 51 .byte 0x51 13760 0ad4 05 .byte 0x5 13761 0ad5 0C .byte 0xc 13762 0ad6 08000100 .4byte 0x10008 13763 0ada 0E .uleb128 0xe 13764 0adb 01 .byte 0x1 13765 0adc 52 .byte 0x52 13766 0add 02 .byte 0x2 13767 0ade 78 .byte 0x78 13768 0adf 00 .sleb128 0 13769 0ae0 0E .uleb128 0xe 13770 0ae1 01 .byte 0x1 13771 0ae2 53 .byte 0x53 13772 0ae3 02 .byte 0x2 13773 0ae4 77 .byte 0x77 13774 0ae5 00 .sleb128 0 13775 0ae6 00 .byte 0 13776 0ae7 00 .byte 0 13777 0ae8 00 .byte 0 13778 0ae9 27 .uleb128 0x27 13779 0aea 401E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7744 13780 0aee 36010000 .4byte .LBB221 13781 0af2 4E010000 .4byte .LBE221 13782 0af6 030B0000 .4byte 0xb03 13783 0afa 20 .uleb128 0x20 13784 0afb 411E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7745 13785 0aff 02 .byte 0x2 13786 0b00 91 .byte 0x91 13787 0b01 4C .sleb128 -52 13788 0b02 00 .byte 0 13789 0b03 1F .uleb128 0x1f 13790 0b04 6C000000 .4byte .LVL132 13791 0b08 940B0000 .4byte 0xb94 13792 0b0c 310B0000 .4byte 0xb31 13793 0b10 0E .uleb128 0xe 13794 0b11 01 .byte 0x1 13795 0b12 50 .byte 0x50 13796 0b13 02 .byte 0x2 13797 0b14 76 .byte 0x76 13798 0b15 00 .sleb128 0 13799 0b16 0E .uleb128 0xe 13800 0b17 01 .byte 0x1 13801 0b18 51 .byte 0x51 ARM GAS /tmp/ccJhhmLc.s page 719 13802 0b19 05 .byte 0x5 13803 0b1a 0C .byte 0xc 13804 0b1b 02001000 .4byte 0x100002 13805 0b1f 0E .uleb128 0xe 13806 0b20 01 .byte 0x1 13807 0b21 52 .byte 0x52 13808 0b22 01 .byte 0x1 13809 0b23 31 .byte 0x31 13810 0b24 0E .uleb128 0xe 13811 0b25 01 .byte 0x1 13812 0b26 53 .byte 0x53 13813 0b27 01 .byte 0x1 13814 0b28 49 .byte 0x49 13815 0b29 0E .uleb128 0xe 13816 0b2a 02 .byte 0x2 13817 0b2b 7D .byte 0x7d 13818 0b2c 00 .sleb128 0 13819 0b2d 02 .byte 0x2 13820 0b2e 77 .byte 0x77 13821 0b2f 00 .sleb128 0 13822 0b30 00 .byte 0 13823 0b31 1F .uleb128 0x1f 13824 0b32 A6010000 .4byte .LVL149 13825 0b36 9E0B0000 .4byte 0xb9e 13826 0b3a 510B0000 .4byte 0xb51 13827 0b3e 0E .uleb128 0xe 13828 0b3f 01 .byte 0x1 13829 0b40 50 .byte 0x50 13830 0b41 02 .byte 0x2 13831 0b42 76 .byte 0x76 13832 0b43 00 .sleb128 0 13833 0b44 0E .uleb128 0xe 13834 0b45 01 .byte 0x1 13835 0b46 51 .byte 0x51 13836 0b47 02 .byte 0x2 13837 0b48 78 .byte 0x78 13838 0b49 00 .sleb128 0 13839 0b4a 0E .uleb128 0xe 13840 0b4b 01 .byte 0x1 13841 0b4c 52 .byte 0x52 13842 0b4d 02 .byte 0x2 13843 0b4e 77 .byte 0x77 13844 0b4f 00 .sleb128 0 13845 0b50 00 .byte 0 13846 0b51 0D .uleb128 0xd 13847 0b52 1E020000 .4byte .LVL152 13848 0b56 A30B0000 .4byte 0xba3 13849 0b5a 0E .uleb128 0xe 13850 0b5b 01 .byte 0x1 13851 0b5c 50 .byte 0x50 13852 0b5d 02 .byte 0x2 13853 0b5e 76 .byte 0x76 13854 0b5f 00 .sleb128 0 13855 0b60 0E .uleb128 0xe 13856 0b61 01 .byte 0x1 13857 0b62 51 .byte 0x51 13858 0b63 02 .byte 0x2 ARM GAS /tmp/ccJhhmLc.s page 720 13859 0b64 78 .byte 0x78 13860 0b65 00 .sleb128 0 13861 0b66 0E .uleb128 0xe 13862 0b67 01 .byte 0x1 13863 0b68 52 .byte 0x52 13864 0b69 02 .byte 0x2 13865 0b6a 77 .byte 0x77 13866 0b6b 00 .sleb128 0 13867 0b6c 00 .byte 0 13868 0b6d 00 .byte 0 13869 0b6e 00 .byte 0 13870 0b6f 1F .uleb128 0x1f 13871 0b70 28000000 .4byte .LVL126 13872 0b74 C9010000 .4byte 0x1c9 13873 0b78 830B0000 .4byte 0xb83 13874 0b7c 0E .uleb128 0xe 13875 0b7d 01 .byte 0x1 13876 0b7e 50 .byte 0x50 13877 0b7f 02 .byte 0x2 13878 0b80 76 .byte 0x76 13879 0b81 00 .sleb128 0 13880 0b82 00 .byte 0 13881 0b83 0D .uleb128 0xd 13882 0b84 56000000 .4byte .LVL130 13883 0b88 0D050000 .4byte 0x50d 13884 0b8c 0E .uleb128 0xe 13885 0b8d 01 .byte 0x1 13886 0b8e 50 .byte 0x50 13887 0b8f 02 .byte 0x2 13888 0b90 91 .byte 0x91 13889 0b91 50 .sleb128 -48 13890 0b92 00 .byte 0 13891 0b93 00 .byte 0 13892 0b94 10 .uleb128 0x10 13893 0b95 16090000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2326 13894 0b99 10 .uleb128 0x10 13895 0b9a CF080000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2255 13896 0b9e 10 .uleb128 0x10 13897 0b9f 95080000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2197 13898 0ba3 10 .uleb128 0x10 13899 0ba4 5B080000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2139 13900 0ba8 06 .uleb128 0x6 13901 0ba9 8C180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6284 13902 0bad 00000000 .4byte .LFB60 13903 0bb1 50030000 .4byte .LFE60 13904 0bb5 BE0F0000 .4byte .LLST97 13905 0bb9 01 .byte 0x1 13906 0bba 620F0000 .4byte 0xf62 13907 0bbe 07 .uleb128 0x7 13908 0bbf A2180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6306 13909 0bc3 0C100000 .4byte .LLST98 13910 0bc7 04100000 .4byte .LVUS98 13911 0bcb 07 .uleb128 0x7 13912 0bcc AF180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6319 13913 0bd0 51100000 .4byte .LLST99 13914 0bd4 49100000 .4byte .LVUS99 13915 0bd8 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 721 13916 0bd9 BC180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6332 13917 0bdd A0100000 .4byte .LLST100 13918 0be1 90100000 .4byte .LVUS100 13919 0be5 07 .uleb128 0x7 13920 0be6 C9180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6345 13921 0bea 29110000 .4byte .LLST101 13922 0bee 21110000 .4byte .LVUS101 13923 0bf2 07 .uleb128 0x7 13924 0bf3 D6180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6358 13925 0bf7 6C110000 .4byte .LLST102 13926 0bfb 66110000 .4byte .LVUS102 13927 0bff 05 .uleb128 0x5 13928 0c00 E3180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6371 13929 0c04 A4110000 .4byte .LLST103 13930 0c08 98110000 .4byte .LVUS103 13931 0c0c 20 .uleb128 0x20 13932 0c0d EE180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6382 13933 0c11 02 .byte 0x2 13934 0c12 91 .byte 0x91 13935 0c13 50 .sleb128 -48 13936 0c14 18 .uleb128 0x18 13937 0c15 AC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6828 13938 0c19 00000000 .4byte .LBI258 13939 0c1d 0200 .2byte .LVU768 13940 0c1f 18020000 .4byte .Ldebug_ranges0+0x218 13941 0c23 03 .byte 0x3 13942 0c24 4802 .2byte 0x248 13943 0c26 28 .byte 0x28 13944 0c27 390C0000 .4byte 0xc39 13945 0c2b 07 .uleb128 0x7 13946 0c2c BC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6844 13947 0c30 F2110000 .4byte .LLST104 13948 0c34 EE110000 .4byte .LVUS104 13949 0c38 00 .byte 0 13950 0c39 18 .uleb128 0x18 13951 0c3a 651B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7013 13952 0c3e 28000000 .4byte .LBI264 13953 0c42 0100 .2byte .LVU782 13954 0c44 38020000 .4byte .Ldebug_ranges0+0x238 13955 0c48 03 .byte 0x3 13956 0c49 4B02 .2byte 0x24b 13957 0c4b 03 .byte 0x3 13958 0c4c 7D0C0000 .4byte 0xc7d 13959 0c50 07 .uleb128 0x7 13960 0c51 6E1B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7022 13961 0c55 18120000 .4byte .LLST105 13962 0c59 10120000 .4byte .LVUS105 13963 0c5d 0D .uleb128 0xd 13964 0c5e 3A000000 .4byte .LVL161 13965 0c62 9E040000 .4byte 0x49e 13966 0c66 0E .uleb128 0xe 13967 0c67 01 .byte 0x1 13968 0c68 50 .byte 0x50 13969 0c69 02 .byte 0x2 13970 0c6a 91 .byte 0x91 13971 0c6b 50 .sleb128 -48 13972 0c6c 0E .uleb128 0xe ARM GAS /tmp/ccJhhmLc.s page 722 13973 0c6d 01 .byte 0x1 13974 0c6e 51 .byte 0x51 13975 0c6f 0B .byte 0xb 13976 0c70 74 .byte 0x74 13977 0c71 00 .sleb128 0 13978 0c72 76 .byte 0x76 13979 0c73 00 .sleb128 0 13980 0c74 22 .byte 0x22 13981 0c75 03 .byte 0x3 13982 0c76 A8FFFFFF .4byte _ZL9_i2c_devs-88 13983 0c7a 1C .byte 0x1c 13984 0c7b 00 .byte 0 13985 0c7c 00 .byte 0 13986 0c7d 18 .uleb128 0x18 13987 0c7e 351D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7477 13988 0c82 3A000000 .4byte .LBI268 13989 0c86 0200 .2byte .LVU793 13990 0c88 58020000 .4byte .Ldebug_ranges0+0x258 13991 0c8c 03 .byte 0x3 13992 0c8d 4C02 .2byte 0x24c 13993 0c8f 1D .byte 0x1d 13994 0c90 3D0F0000 .4byte 0xf3d 13995 0c94 07 .uleb128 0x7 13996 0c95 481D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7496 13997 0c99 6D120000 .4byte .LLST106 13998 0c9d 5F120000 .4byte .LVUS106 13999 0ca1 07 .uleb128 0x7 14000 0ca2 551D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7509 14001 0ca6 C8120000 .4byte .LLST107 14002 0caa C2120000 .4byte .LVUS107 14003 0cae 07 .uleb128 0x7 14004 0caf 621D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7522 14005 0cb3 0C130000 .4byte .LLST108 14006 0cb7 06130000 .4byte .LVUS108 14007 0cbb 07 .uleb128 0x7 14008 0cbc 6F1D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7535 14009 0cc0 43130000 .4byte .LLST109 14010 0cc4 3B130000 .4byte .LVUS109 14011 0cc8 07 .uleb128 0x7 14012 0cc9 7C1D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7548 14013 0ccd A0130000 .4byte .LLST110 14014 0cd1 92130000 .4byte .LVUS110 14015 0cd5 0A .uleb128 0xa 14016 0cd6 58020000 .4byte .Ldebug_ranges0+0x258 14017 0cda 05 .uleb128 0x5 14018 0cdb 891D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7561 14019 0cdf FB130000 .4byte .LLST111 14020 0ce3 F5130000 .4byte .LVUS111 14021 0ce7 18 .uleb128 0x18 14022 0ce8 37050000 .4byte stm32_hal.cpp.4653489c+1335 14023 0cec 3A000000 .4byte .LBI270 14024 0cf0 0400 .2byte .LVU795 14025 0cf2 90020000 .4byte .Ldebug_ranges0+0x290 14026 0cf6 0A .byte 0xa 14027 0cf7 8404 .2byte 0x484 14028 0cf9 18 .byte 0x18 14029 0cfa 110D0000 .4byte 0xd11 ARM GAS /tmp/ccJhhmLc.s page 723 14030 0cfe 26 .uleb128 0x26 14031 0cff C70D0000 .4byte timers_driver.cpp.9287e71d+3527 14032 0d03 3A000000 .4byte .LBI271 14033 0d07 0600 .2byte .LVU797 14034 0d09 90020000 .4byte .Ldebug_ranges0+0x290 14035 0d0d 0B .byte 0xb 14036 0d0e 1B .byte 0x1b 14037 0d0f 1B .byte 0x1b 14038 0d10 00 .byte 0 14039 0d11 18 .uleb128 0x18 14040 0d12 060B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2822 14041 0d16 A8000000 .4byte .LBI276 14042 0d1a 0100 .2byte .LVU835 14043 0d1c A8020000 .4byte .Ldebug_ranges0+0x2a8 14044 0d20 0A .byte 0xa 14045 0d21 A604 .2byte 0x4a6 14046 0d23 09 .byte 0x9 14047 0d24 5A0E0000 .4byte 0xe5a 14048 0d28 07 .uleb128 0x7 14049 0d29 180B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2840 14050 0d2d 2A140000 .4byte .LLST112 14051 0d31 24140000 .4byte .LVUS112 14052 0d35 07 .uleb128 0x7 14053 0d36 250B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2853 14054 0d3a 59140000 .4byte .LLST113 14055 0d3e 53140000 .4byte .LVUS113 14056 0d42 07 .uleb128 0x7 14057 0d43 320B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2866 14058 0d47 9D140000 .4byte .LLST114 14059 0d4b 97140000 .4byte .LVUS114 14060 0d4f 07 .uleb128 0x7 14061 0d50 3F0B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2879 14062 0d54 CC140000 .4byte .LLST115 14063 0d58 C6140000 .4byte .LVUS115 14064 0d5c 0A .uleb128 0xa 14065 0d5d A8020000 .4byte .Ldebug_ranges0+0x2a8 14066 0d61 05 .uleb128 0x5 14067 0d62 4C0B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2892 14068 0d66 F7140000 .4byte .LLST116 14069 0d6a F5140000 .4byte .LVUS116 14070 0d6e 27 .uleb128 0x27 14071 0d6f 590B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2905 14072 0d73 B4010000 .4byte .LBB278 14073 0d77 C4010000 .4byte .LBE278 14074 0d7b 880D0000 .4byte 0xd88 14075 0d7f 20 .uleb128 0x20 14076 0d80 5A0B0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2906 14077 0d84 02 .byte 0x2 14078 0d85 91 .byte 0x91 14079 0d86 4C .sleb128 -52 14080 0d87 00 .byte 0 14081 0d88 1F .uleb128 0x1f 14082 0d89 E0000000 .4byte .LVL170 14083 0d8d 940B0000 .4byte 0xb94 14084 0d91 B70D0000 .4byte 0xdb7 14085 0d95 0E .uleb128 0xe 14086 0d96 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 724 14087 0d97 50 .byte 0x50 14088 0d98 02 .byte 0x2 14089 0d99 76 .byte 0x76 14090 0d9a 00 .sleb128 0 14091 0d9b 0E .uleb128 0xe 14092 0d9c 01 .byte 0x1 14093 0d9d 51 .byte 0x51 14094 0d9e 05 .byte 0x5 14095 0d9f 0C .byte 0xc 14096 0da0 01000100 .4byte 0x10001 14097 0da4 0E .uleb128 0xe 14098 0da5 01 .byte 0x1 14099 0da6 52 .byte 0x52 14100 0da7 01 .byte 0x1 14101 0da8 30 .byte 0x30 14102 0da9 0E .uleb128 0xe 14103 0daa 01 .byte 0x1 14104 0dab 53 .byte 0x53 14105 0dac 02 .byte 0x2 14106 0dad 78 .byte 0x78 14107 0dae 00 .sleb128 0 14108 0daf 0E .uleb128 0xe 14109 0db0 02 .byte 0x2 14110 0db1 7D .byte 0x7d 14111 0db2 00 .sleb128 0 14112 0db3 02 .byte 0x2 14113 0db4 77 .byte 0x77 14114 0db5 00 .sleb128 0 14115 0db6 00 .byte 0 14116 0db7 1F .uleb128 0x1f 14117 0db8 36010000 .4byte .LVL178 14118 0dbc 990B0000 .4byte 0xb99 14119 0dc0 E00D0000 .4byte 0xde0 14120 0dc4 0E .uleb128 0xe 14121 0dc5 01 .byte 0x1 14122 0dc6 50 .byte 0x50 14123 0dc7 02 .byte 0x2 14124 0dc8 76 .byte 0x76 14125 0dc9 00 .sleb128 0 14126 0dca 0E .uleb128 0xe 14127 0dcb 01 .byte 0x1 14128 0dcc 51 .byte 0x51 14129 0dcd 05 .byte 0x5 14130 0dce 0C .byte 0xc 14131 0dcf 02000100 .4byte 0x10002 14132 0dd3 0E .uleb128 0xe 14133 0dd4 01 .byte 0x1 14134 0dd5 52 .byte 0x52 14135 0dd6 02 .byte 0x2 14136 0dd7 78 .byte 0x78 14137 0dd8 00 .sleb128 0 14138 0dd9 0E .uleb128 0xe 14139 0dda 01 .byte 0x1 14140 0ddb 53 .byte 0x53 14141 0ddc 02 .byte 0x2 14142 0ddd 77 .byte 0x77 14143 0dde 00 .sleb128 0 ARM GAS /tmp/ccJhhmLc.s page 725 14144 0ddf 00 .byte 0 14145 0de0 1F .uleb128 0x1f 14146 0de1 96010000 .4byte .LVL184 14147 0de5 990B0000 .4byte 0xb99 14148 0de9 090E0000 .4byte 0xe09 14149 0ded 0E .uleb128 0xe 14150 0dee 01 .byte 0x1 14151 0def 50 .byte 0x50 14152 0df0 02 .byte 0x2 14153 0df1 76 .byte 0x76 14154 0df2 00 .sleb128 0 14155 0df3 0E .uleb128 0xe 14156 0df4 01 .byte 0x1 14157 0df5 51 .byte 0x51 14158 0df6 05 .byte 0x5 14159 0df7 0C .byte 0xc 14160 0df8 08000100 .4byte 0x10008 14161 0dfc 0E .uleb128 0xe 14162 0dfd 01 .byte 0x1 14163 0dfe 52 .byte 0x52 14164 0dff 02 .byte 0x2 14165 0e00 78 .byte 0x78 14166 0e01 00 .sleb128 0 14167 0e02 0E .uleb128 0xe 14168 0e03 01 .byte 0x1 14169 0e04 53 .byte 0x53 14170 0e05 02 .byte 0x2 14171 0e06 77 .byte 0x77 14172 0e07 00 .sleb128 0 14173 0e08 00 .byte 0 14174 0e09 1F .uleb128 0x1f 14175 0e0a AE010000 .4byte .LVL185 14176 0e0e 990B0000 .4byte 0xb99 14177 0e12 320E0000 .4byte 0xe32 14178 0e16 0E .uleb128 0xe 14179 0e17 01 .byte 0x1 14180 0e18 50 .byte 0x50 14181 0e19 02 .byte 0x2 14182 0e1a 76 .byte 0x76 14183 0e1b 00 .sleb128 0 14184 0e1c 0E .uleb128 0xe 14185 0e1d 01 .byte 0x1 14186 0e1e 51 .byte 0x51 14187 0e1f 05 .byte 0x5 14188 0e20 0C .byte 0xc 14189 0e21 02000100 .4byte 0x10002 14190 0e25 0E .uleb128 0xe 14191 0e26 01 .byte 0x1 14192 0e27 52 .byte 0x52 14193 0e28 02 .byte 0x2 14194 0e29 78 .byte 0x78 14195 0e2a 00 .sleb128 0 14196 0e2b 0E .uleb128 0xe 14197 0e2c 01 .byte 0x1 14198 0e2d 53 .byte 0x53 14199 0e2e 02 .byte 0x2 14200 0e2f 77 .byte 0x77 ARM GAS /tmp/ccJhhmLc.s page 726 14201 0e30 00 .sleb128 0 14202 0e31 00 .byte 0 14203 0e32 0D .uleb128 0xd 14204 0e33 DA010000 .4byte .LVL186 14205 0e37 940B0000 .4byte 0xb94 14206 0e3b 0E .uleb128 0xe 14207 0e3c 01 .byte 0x1 14208 0e3d 50 .byte 0x50 14209 0e3e 02 .byte 0x2 14210 0e3f 76 .byte 0x76 14211 0e40 00 .sleb128 0 14212 0e41 0E .uleb128 0xe 14213 0e42 01 .byte 0x1 14214 0e43 51 .byte 0x51 14215 0e44 05 .byte 0x5 14216 0e45 0C .byte 0xc 14217 0e46 01000100 .4byte 0x10001 14218 0e4a 0E .uleb128 0xe 14219 0e4b 01 .byte 0x1 14220 0e4c 53 .byte 0x53 14221 0e4d 02 .byte 0x2 14222 0e4e 78 .byte 0x78 14223 0e4f 00 .sleb128 0 14224 0e50 0E .uleb128 0xe 14225 0e51 02 .byte 0x2 14226 0e52 7D .byte 0x7d 14227 0e53 00 .sleb128 0 14228 0e54 02 .byte 0x2 14229 0e55 77 .byte 0x77 14230 0e56 00 .sleb128 0 14231 0e57 00 .byte 0 14232 0e58 00 .byte 0 14233 0e59 00 .byte 0 14234 0e5a 28 .uleb128 0x28 14235 0e5b 961D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7574 14236 0e5f D0020000 .4byte .Ldebug_ranges0+0x2d0 14237 0e63 700E0000 .4byte 0xe70 14238 0e67 20 .uleb128 0x20 14239 0e68 9B1D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7579 14240 0e6c 02 .byte 0x2 14241 0e6d 91 .byte 0x91 14242 0e6e 48 .sleb128 -56 14243 0e6f 00 .byte 0 14244 0e70 27 .uleb128 0x27 14245 0e71 A91D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7593 14246 0e75 FA010000 .4byte .LBB287 14247 0e79 06020000 .4byte .LBE287 14248 0e7d 8A0E0000 .4byte 0xe8a 14249 0e81 20 .uleb128 0x20 14250 0e82 AE1D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7598 14251 0e86 02 .byte 0x2 14252 0e87 91 .byte 0x91 14253 0e88 44 .sleb128 -60 14254 0e89 00 .byte 0 14255 0e8a 27 .uleb128 0x27 14256 0e8b BC1D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7612 14257 0e8f 1C020000 .4byte .LBB288 ARM GAS /tmp/ccJhhmLc.s page 727 14258 0e93 28020000 .4byte .LBE288 14259 0e97 A40E0000 .4byte 0xea4 14260 0e9b 20 .uleb128 0x20 14261 0e9c C11D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7617 14262 0ea0 02 .byte 0x2 14263 0ea1 91 .byte 0x91 14264 0ea2 40 .sleb128 -64 14265 0ea3 00 .byte 0 14266 0ea4 27 .uleb128 0x27 14267 0ea5 CF1D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7631 14268 0ea9 30020000 .4byte .LBB289 14269 0ead 3E020000 .4byte .LBE289 14270 0eb1 BF0E0000 .4byte 0xebf 14271 0eb5 20 .uleb128 0x20 14272 0eb6 D01D0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7632 14273 0eba 03 .byte 0x3 14274 0ebb 91 .byte 0x91 14275 0ebc BC7F .sleb128 -68 14276 0ebe 00 .byte 0 14277 0ebf 1F .uleb128 0x1f 14278 0ec0 58000000 .4byte .LVL163 14279 0ec4 940B0000 .4byte 0xb94 14280 0ec8 ED0E0000 .4byte 0xeed 14281 0ecc 0E .uleb128 0xe 14282 0ecd 01 .byte 0x1 14283 0ece 50 .byte 0x50 14284 0ecf 02 .byte 0x2 14285 0ed0 76 .byte 0x76 14286 0ed1 00 .sleb128 0 14287 0ed2 0E .uleb128 0xe 14288 0ed3 01 .byte 0x1 14289 0ed4 51 .byte 0x51 14290 0ed5 05 .byte 0x5 14291 0ed6 0C .byte 0xc 14292 0ed7 02001000 .4byte 0x100002 14293 0edb 0E .uleb128 0xe 14294 0edc 01 .byte 0x1 14295 0edd 52 .byte 0x52 14296 0ede 01 .byte 0x1 14297 0edf 31 .byte 0x31 14298 0ee0 0E .uleb128 0xe 14299 0ee1 01 .byte 0x1 14300 0ee2 53 .byte 0x53 14301 0ee3 01 .byte 0x1 14302 0ee4 49 .byte 0x49 14303 0ee5 0E .uleb128 0xe 14304 0ee6 02 .byte 0x2 14305 0ee7 7D .byte 0x7d 14306 0ee8 00 .sleb128 0 14307 0ee9 02 .byte 0x2 14308 0eea 77 .byte 0x77 14309 0eeb 00 .sleb128 0 14310 0eec 00 .byte 0 14311 0eed 1F .uleb128 0x1f 14312 0eee 50020000 .4byte .LVL189 14313 0ef2 620F0000 .4byte 0xf62 14314 0ef6 0D0F0000 .4byte 0xf0d ARM GAS /tmp/ccJhhmLc.s page 728 14315 0efa 0E .uleb128 0xe 14316 0efb 01 .byte 0x1 14317 0efc 50 .byte 0x50 14318 0efd 02 .byte 0x2 14319 0efe 76 .byte 0x76 14320 0eff 00 .sleb128 0 14321 0f00 0E .uleb128 0xe 14322 0f01 01 .byte 0x1 14323 0f02 51 .byte 0x51 14324 0f03 02 .byte 0x2 14325 0f04 78 .byte 0x78 14326 0f05 00 .sleb128 0 14327 0f06 0E .uleb128 0xe 14328 0f07 01 .byte 0x1 14329 0f08 52 .byte 0x52 14330 0f09 02 .byte 0x2 14331 0f0a 77 .byte 0x77 14332 0f0b 00 .sleb128 0 14333 0f0c 00 .byte 0 14334 0f0d 0F .uleb128 0xf 14335 0f0e A0020000 .4byte .LVL191 14336 0f12 940B0000 .4byte 0xb94 14337 0f16 0F .uleb128 0xf 14338 0f17 D6020000 .4byte .LVL193 14339 0f1b 940B0000 .4byte 0xb94 14340 0f1f 0D .uleb128 0xd 14341 0f20 16030000 .4byte .LVL194 14342 0f24 620F0000 .4byte 0xf62 14343 0f28 0E .uleb128 0xe 14344 0f29 01 .byte 0x1 14345 0f2a 50 .byte 0x50 14346 0f2b 02 .byte 0x2 14347 0f2c 76 .byte 0x76 14348 0f2d 00 .sleb128 0 14349 0f2e 0E .uleb128 0xe 14350 0f2f 01 .byte 0x1 14351 0f30 51 .byte 0x51 14352 0f31 02 .byte 0x2 14353 0f32 78 .byte 0x78 14354 0f33 00 .sleb128 0 14355 0f34 0E .uleb128 0xe 14356 0f35 01 .byte 0x1 14357 0f36 52 .byte 0x52 14358 0f37 02 .byte 0x2 14359 0f38 77 .byte 0x77 14360 0f39 00 .sleb128 0 14361 0f3a 00 .byte 0 14362 0f3b 00 .byte 0 14363 0f3c 00 .byte 0 14364 0f3d 1F .uleb128 0x1f 14365 0f3e 28000000 .4byte .LVL158 14366 0f42 C9010000 .4byte 0x1c9 14367 0f46 510F0000 .4byte 0xf51 14368 0f4a 0E .uleb128 0xe 14369 0f4b 01 .byte 0x1 14370 0f4c 50 .byte 0x50 14371 0f4d 02 .byte 0x2 ARM GAS /tmp/ccJhhmLc.s page 729 14372 0f4e 76 .byte 0x76 14373 0f4f 00 .sleb128 0 14374 0f50 00 .byte 0 14375 0f51 0D .uleb128 0xd 14376 0f52 0A010000 .4byte .LVL175 14377 0f56 0D050000 .4byte 0x50d 14378 0f5a 0E .uleb128 0xe 14379 0f5b 01 .byte 0x1 14380 0f5c 50 .byte 0x50 14381 0f5d 02 .byte 0x2 14382 0f5e 91 .byte 0x91 14383 0f5f 50 .sleb128 -48 14384 0f60 00 .byte 0 14385 0f61 00 .byte 0 14386 0f62 10 .uleb128 0x10 14387 0f63 BA070000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+1978 14388 0f67 06 .uleb128 0x6 14389 0f68 02180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6146 14390 0f6c 00000000 .4byte .LFB63 14391 0f70 8C030000 .4byte .LFE63 14392 0f74 0A150000 .4byte .LLST117 14393 0f78 01 .byte 0x1 14394 0f79 8F130000 .4byte 0x138f 14395 0f7d 07 .uleb128 0x7 14396 0f7e 18180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6168 14397 0f82 58150000 .4byte .LLST118 14398 0f86 50150000 .4byte .LVUS118 14399 0f8a 07 .uleb128 0x7 14400 0f8b 25180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6181 14401 0f8f 9D150000 .4byte .LLST119 14402 0f93 95150000 .4byte .LVUS119 14403 0f97 07 .uleb128 0x7 14404 0f98 32180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6194 14405 0f9c E2150000 .4byte .LLST120 14406 0fa0 DA150000 .4byte .LVUS120 14407 0fa4 07 .uleb128 0x7 14408 0fa5 3F180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6207 14409 0fa9 29160000 .4byte .LLST121 14410 0fad 21160000 .4byte .LVUS121 14411 0fb1 07 .uleb128 0x7 14412 0fb2 4C180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6220 14413 0fb6 70160000 .4byte .LLST122 14414 0fba 68160000 .4byte .LVUS122 14415 0fbe 07 .uleb128 0x7 14416 0fbf 59180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6233 14417 0fc3 B0160000 .4byte .LLST123 14418 0fc7 A8160000 .4byte .LVUS123 14419 0fcb 07 .uleb128 0x7 14420 0fcc 66180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6246 14421 0fd0 F2160000 .4byte .LLST124 14422 0fd4 E8160000 .4byte .LVUS124 14423 0fd8 05 .uleb128 0x5 14424 0fd9 73180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6259 14425 0fdd 4A170000 .4byte .LLST125 14426 0fe1 36170000 .4byte .LVUS125 14427 0fe5 20 .uleb128 0x20 14428 0fe6 7E180000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6270 ARM GAS /tmp/ccJhhmLc.s page 730 14429 0fea 02 .byte 0x2 14430 0feb 91 .byte 0x91 14431 0fec 50 .sleb128 -48 14432 0fed 18 .uleb128 0x18 14433 0fee AC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6828 14434 0ff2 00000000 .4byte .LBI321 14435 0ff6 0200 .2byte .LVU1053 14436 0ff8 E8020000 .4byte .Ldebug_ranges0+0x2e8 14437 0ffc 03 .byte 0x3 14438 0ffd 5602 .2byte 0x256 14439 0fff 28 .byte 0x28 14440 1000 12100000 .4byte 0x1012 14441 1004 07 .uleb128 0x7 14442 1005 BC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6844 14443 1009 E5170000 .4byte .LLST126 14444 100d E1170000 .4byte .LVUS126 14445 1011 00 .byte 0 14446 1012 18 .uleb128 0x18 14447 1013 651B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7013 14448 1017 2A000000 .4byte .LBI327 14449 101b 0100 .2byte .LVU1067 14450 101d 08030000 .4byte .Ldebug_ranges0+0x308 14451 1021 03 .byte 0x3 14452 1022 5902 .2byte 0x259 14453 1024 03 .byte 0x3 14454 1025 56100000 .4byte 0x1056 14455 1029 07 .uleb128 0x7 14456 102a 6E1B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7022 14457 102e 0B180000 .4byte .LLST127 14458 1032 03180000 .4byte .LVUS127 14459 1036 0D .uleb128 0xd 14460 1037 3C000000 .4byte .LVL203 14461 103b 9E040000 .4byte 0x49e 14462 103f 0E .uleb128 0xe 14463 1040 01 .byte 0x1 14464 1041 50 .byte 0x50 14465 1042 02 .byte 0x2 14466 1043 91 .byte 0x91 14467 1044 50 .sleb128 -48 14468 1045 0E .uleb128 0xe 14469 1046 01 .byte 0x1 14470 1047 51 .byte 0x51 14471 1048 0B .byte 0xb 14472 1049 74 .byte 0x74 14473 104a 00 .sleb128 0 14474 104b 78 .byte 0x78 14475 104c 00 .sleb128 0 14476 104d 22 .byte 0x22 14477 104e 03 .byte 0x3 14478 104f A8FFFFFF .4byte _ZL9_i2c_devs-88 14479 1053 1C .byte 0x1c 14480 1054 00 .byte 0 14481 1055 00 .byte 0 14482 1056 18 .uleb128 0x18 14483 1057 93180000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6291 14484 105b 3C000000 .4byte .LBI331 14485 105f 0200 .2byte .LVU1078 ARM GAS /tmp/ccJhhmLc.s page 731 14486 1061 28030000 .4byte .Ldebug_ranges0+0x328 14487 1065 03 .byte 0x3 14488 1066 5A02 .2byte 0x25a 14489 1068 17 .byte 0x17 14490 1069 6A130000 .4byte 0x136a 14491 106d 07 .uleb128 0x7 14492 106e A6180000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6310 14493 1072 64180000 .4byte .LLST128 14494 1076 52180000 .4byte .LVUS128 14495 107a 07 .uleb128 0x7 14496 107b B3180000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6323 14497 107f EE180000 .4byte .LLST129 14498 1083 E4180000 .4byte .LVUS129 14499 1087 07 .uleb128 0x7 14500 1088 C0180000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6336 14501 108c 5C190000 .4byte .LLST130 14502 1090 56190000 .4byte .LVUS130 14503 1094 07 .uleb128 0x7 14504 1095 CD180000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6349 14505 1099 91190000 .4byte .LLST131 14506 109d 8B190000 .4byte .LVUS131 14507 10a1 07 .uleb128 0x7 14508 10a2 DA180000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6362 14509 10a6 C6190000 .4byte .LLST132 14510 10aa C0190000 .4byte .LVUS132 14511 10ae 07 .uleb128 0x7 14512 10af E7180000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6375 14513 10b3 F8190000 .4byte .LLST133 14514 10b7 F2190000 .4byte .LVUS133 14515 10bb 07 .uleb128 0x7 14516 10bc F4180000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6388 14517 10c0 321A0000 .4byte .LLST134 14518 10c4 241A0000 .4byte .LVUS134 14519 10c8 0A .uleb128 0xa 14520 10c9 28030000 .4byte .Ldebug_ranges0+0x328 14521 10cd 05 .uleb128 0x5 14522 10ce 01190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6401 14523 10d2 8D1A0000 .4byte .LLST135 14524 10d6 871A0000 .4byte .LVUS135 14525 10da 18 .uleb128 0x18 14526 10db 37050000 .4byte stm32_hal.cpp.4653489c+1335 14527 10df 3C000000 .4byte .LBI333 14528 10e3 0400 .2byte .LVU1080 14529 10e5 58030000 .4byte .Ldebug_ranges0+0x358 14530 10e9 0A .byte 0xa 14531 10ea 320A .2byte 0xa32 14532 10ec 18 .byte 0x18 14533 10ed 04110000 .4byte 0x1104 14534 10f1 26 .uleb128 0x26 14535 10f2 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 14536 10f6 3C000000 .4byte .LBI334 14537 10fa 0600 .2byte .LVU1082 14538 10fc 58030000 .4byte .Ldebug_ranges0+0x358 14539 1100 0B .byte 0xb 14540 1101 1B .byte 0x1b 14541 1102 1B .byte 0x1b 14542 1103 00 .byte 0 ARM GAS /tmp/ccJhhmLc.s page 732 14543 1104 18 .uleb128 0x18 14544 1105 260A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2598 14545 1109 C4000000 .4byte .LBI339 14546 110d 0100 .2byte .LVU1127 14547 110f 70030000 .4byte .Ldebug_ranges0+0x370 14548 1113 0A .byte 0xa 14549 1114 570A .2byte 0xa57 14550 1116 09 .byte 0x9 14551 1117 87120000 .4byte 0x1287 14552 111b 07 .uleb128 0x7 14553 111c 380A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2616 14554 1120 C01A0000 .4byte .LLST136 14555 1124 B61A0000 .4byte .LVUS136 14556 1128 07 .uleb128 0x7 14557 1129 450A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2629 14558 112d 121B0000 .4byte .LLST137 14559 1131 081B0000 .4byte .LVUS137 14560 1135 07 .uleb128 0x7 14561 1136 520A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2642 14562 113a 821B0000 .4byte .LLST138 14563 113e 7A1B0000 .4byte .LVUS138 14564 1142 07 .uleb128 0x7 14565 1143 5F0A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2655 14566 1147 C61B0000 .4byte .LLST139 14567 114b BE1B0000 .4byte .LVUS139 14568 114f 07 .uleb128 0x7 14569 1150 6C0A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2668 14570 1154 0A1C0000 .4byte .LLST140 14571 1158 021C0000 .4byte .LVUS140 14572 115c 07 .uleb128 0x7 14573 115d 790A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2681 14574 1161 461C0000 .4byte .LLST141 14575 1165 3E1C0000 .4byte .LVUS141 14576 1169 28 .uleb128 0x28 14577 116a 860A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2694 14578 116e 88030000 .4byte .Ldebug_ranges0+0x388 14579 1172 7F110000 .4byte 0x117f 14580 1176 20 .uleb128 0x20 14581 1177 870A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2695 14582 117b 02 .byte 0x2 14583 117c 91 .byte 0x91 14584 117d 4C .sleb128 -52 14585 117e 00 .byte 0 14586 117f 1F .uleb128 0x1f 14587 1180 E2000000 .4byte .LVL207 14588 1184 940B0000 .4byte 0xb94 14589 1188 AE110000 .4byte 0x11ae 14590 118c 0E .uleb128 0xe 14591 118d 01 .byte 0x1 14592 118e 50 .byte 0x50 14593 118f 02 .byte 0x2 14594 1190 74 .byte 0x74 14595 1191 00 .sleb128 0 14596 1192 0E .uleb128 0xe 14597 1193 01 .byte 0x1 14598 1194 51 .byte 0x51 14599 1195 05 .byte 0x5 ARM GAS /tmp/ccJhhmLc.s page 733 14600 1196 0C .byte 0xc 14601 1197 01000100 .4byte 0x10001 14602 119b 0E .uleb128 0xe 14603 119c 01 .byte 0x1 14604 119d 52 .byte 0x52 14605 119e 01 .byte 0x1 14606 119f 30 .byte 0x30 14607 11a0 0E .uleb128 0xe 14608 11a1 01 .byte 0x1 14609 11a2 53 .byte 0x53 14610 11a3 02 .byte 0x2 14611 11a4 77 .byte 0x77 14612 11a5 00 .sleb128 0 14613 11a6 0E .uleb128 0xe 14614 11a7 02 .byte 0x2 14615 11a8 7D .byte 0x7d 14616 11a9 00 .sleb128 0 14617 11aa 02 .byte 0x2 14618 11ab 76 .byte 0x76 14619 11ac 00 .sleb128 0 14620 11ad 00 .byte 0 14621 11ae 1F .uleb128 0x1f 14622 11af 20010000 .4byte .LVL214 14623 11b3 990B0000 .4byte 0xb99 14624 11b7 D7110000 .4byte 0x11d7 14625 11bb 0E .uleb128 0xe 14626 11bc 01 .byte 0x1 14627 11bd 50 .byte 0x50 14628 11be 02 .byte 0x2 14629 11bf 74 .byte 0x74 14630 11c0 00 .sleb128 0 14631 11c1 0E .uleb128 0xe 14632 11c2 01 .byte 0x1 14633 11c3 51 .byte 0x51 14634 11c4 05 .byte 0x5 14635 11c5 0C .byte 0xc 14636 11c6 02000100 .4byte 0x10002 14637 11ca 0E .uleb128 0xe 14638 11cb 01 .byte 0x1 14639 11cc 52 .byte 0x52 14640 11cd 02 .byte 0x2 14641 11ce 77 .byte 0x77 14642 11cf 00 .sleb128 0 14643 11d0 0E .uleb128 0xe 14644 11d1 01 .byte 0x1 14645 11d2 53 .byte 0x53 14646 11d3 02 .byte 0x2 14647 11d4 76 .byte 0x76 14648 11d5 00 .sleb128 0 14649 11d6 00 .byte 0 14650 11d7 1F .uleb128 0x1f 14651 11d8 3E010000 .4byte .LVL215 14652 11dc 9E0B0000 .4byte 0xb9e 14653 11e0 F7110000 .4byte 0x11f7 14654 11e4 0E .uleb128 0xe 14655 11e5 01 .byte 0x1 14656 11e6 50 .byte 0x50 ARM GAS /tmp/ccJhhmLc.s page 734 14657 11e7 02 .byte 0x2 14658 11e8 74 .byte 0x74 14659 11e9 00 .sleb128 0 14660 11ea 0E .uleb128 0xe 14661 11eb 01 .byte 0x1 14662 11ec 51 .byte 0x51 14663 11ed 02 .byte 0x2 14664 11ee 77 .byte 0x77 14665 11ef 00 .sleb128 0 14666 11f0 0E .uleb128 0xe 14667 11f1 01 .byte 0x1 14668 11f2 52 .byte 0x52 14669 11f3 02 .byte 0x2 14670 11f4 76 .byte 0x76 14671 11f5 00 .sleb128 0 14672 11f6 00 .byte 0 14673 11f7 1F .uleb128 0x1f 14674 11f8 70010000 .4byte .LVL218 14675 11fc 9E0B0000 .4byte 0xb9e 14676 1200 17120000 .4byte 0x1217 14677 1204 0E .uleb128 0xe 14678 1205 01 .byte 0x1 14679 1206 50 .byte 0x50 14680 1207 02 .byte 0x2 14681 1208 74 .byte 0x74 14682 1209 00 .sleb128 0 14683 120a 0E .uleb128 0xe 14684 120b 01 .byte 0x1 14685 120c 51 .byte 0x51 14686 120d 02 .byte 0x2 14687 120e 77 .byte 0x77 14688 120f 00 .sleb128 0 14689 1210 0E .uleb128 0xe 14690 1211 01 .byte 0x1 14691 1212 52 .byte 0x52 14692 1213 02 .byte 0x2 14693 1214 76 .byte 0x76 14694 1215 00 .sleb128 0 14695 1216 00 .byte 0 14696 1217 1F .uleb128 0x1f 14697 1218 9C010000 .4byte .LVL219 14698 121c 9E0B0000 .4byte 0xb9e 14699 1220 37120000 .4byte 0x1237 14700 1224 0E .uleb128 0xe 14701 1225 01 .byte 0x1 14702 1226 50 .byte 0x50 14703 1227 02 .byte 0x2 14704 1228 74 .byte 0x74 14705 1229 00 .sleb128 0 14706 122a 0E .uleb128 0xe 14707 122b 01 .byte 0x1 14708 122c 51 .byte 0x51 14709 122d 02 .byte 0x2 14710 122e 77 .byte 0x77 14711 122f 00 .sleb128 0 14712 1230 0E .uleb128 0xe 14713 1231 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 735 14714 1232 52 .byte 0x52 14715 1233 02 .byte 0x2 14716 1234 76 .byte 0x76 14717 1235 00 .sleb128 0 14718 1236 00 .byte 0 14719 1237 1F .uleb128 0x1f 14720 1238 C6010000 .4byte .LVL220 14721 123c 940B0000 .4byte 0xb94 14722 1240 61120000 .4byte 0x1261 14723 1244 0E .uleb128 0xe 14724 1245 01 .byte 0x1 14725 1246 50 .byte 0x50 14726 1247 02 .byte 0x2 14727 1248 74 .byte 0x74 14728 1249 00 .sleb128 0 14729 124a 0E .uleb128 0xe 14730 124b 01 .byte 0x1 14731 124c 51 .byte 0x51 14732 124d 05 .byte 0x5 14733 124e 0C .byte 0xc 14734 124f 01000100 .4byte 0x10001 14735 1253 0E .uleb128 0xe 14736 1254 01 .byte 0x1 14737 1255 53 .byte 0x53 14738 1256 02 .byte 0x2 14739 1257 77 .byte 0x77 14740 1258 00 .sleb128 0 14741 1259 0E .uleb128 0xe 14742 125a 02 .byte 0x2 14743 125b 7D .byte 0x7d 14744 125c 00 .sleb128 0 14745 125d 02 .byte 0x2 14746 125e 76 .byte 0x76 14747 125f 00 .sleb128 0 14748 1260 00 .byte 0 14749 1261 0D .uleb128 0xd 14750 1262 F2010000 .4byte .LVL223 14751 1266 990B0000 .4byte 0xb99 14752 126a 0E .uleb128 0xe 14753 126b 01 .byte 0x1 14754 126c 50 .byte 0x50 14755 126d 02 .byte 0x2 14756 126e 74 .byte 0x74 14757 126f 00 .sleb128 0 14758 1270 0E .uleb128 0xe 14759 1271 01 .byte 0x1 14760 1272 51 .byte 0x51 14761 1273 05 .byte 0x5 14762 1274 0C .byte 0xc 14763 1275 02000100 .4byte 0x10002 14764 1279 0E .uleb128 0xe 14765 127a 01 .byte 0x1 14766 127b 52 .byte 0x52 14767 127c 02 .byte 0x2 14768 127d 77 .byte 0x77 14769 127e 00 .sleb128 0 14770 127f 0E .uleb128 0xe ARM GAS /tmp/ccJhhmLc.s page 736 14771 1280 01 .byte 0x1 14772 1281 53 .byte 0x53 14773 1282 02 .byte 0x2 14774 1283 76 .byte 0x76 14775 1284 00 .sleb128 0 14776 1285 00 .byte 0 14777 1286 00 .byte 0 14778 1287 28 .uleb128 0x28 14779 1288 0E190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6414 14780 128c A0030000 .4byte .Ldebug_ranges0+0x3a0 14781 1290 9D120000 .4byte 0x129d 14782 1294 20 .uleb128 0x20 14783 1295 13190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6419 14784 1299 02 .byte 0x2 14785 129a 91 .byte 0x91 14786 129b 48 .sleb128 -56 14787 129c 00 .byte 0 14788 129d 27 .uleb128 0x27 14789 129e 21190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6433 14790 12a2 40020000 .4byte .LBB347 14791 12a6 4C020000 .4byte .LBE347 14792 12aa B7120000 .4byte 0x12b7 14793 12ae 20 .uleb128 0x20 14794 12af 26190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6438 14795 12b3 02 .byte 0x2 14796 12b4 91 .byte 0x91 14797 12b5 44 .sleb128 -60 14798 12b6 00 .byte 0 14799 12b7 27 .uleb128 0x27 14800 12b8 34190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6452 14801 12bc 62020000 .4byte .LBB348 14802 12c0 6E020000 .4byte .LBE348 14803 12c4 D1120000 .4byte 0x12d1 14804 12c8 20 .uleb128 0x20 14805 12c9 39190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6457 14806 12cd 02 .byte 0x2 14807 12ce 91 .byte 0x91 14808 12cf 40 .sleb128 -64 14809 12d0 00 .byte 0 14810 12d1 27 .uleb128 0x27 14811 12d2 47190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6471 14812 12d6 70020000 .4byte .LBB349 14813 12da 7E020000 .4byte .LBE349 14814 12de EC120000 .4byte 0x12ec 14815 12e2 20 .uleb128 0x20 14816 12e3 48190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6472 14817 12e7 03 .byte 0x3 14818 12e8 91 .byte 0x91 14819 12e9 BC7F .sleb128 -68 14820 12eb 00 .byte 0 14821 12ec 1F .uleb128 0x1f 14822 12ed 5A000000 .4byte .LVL205 14823 12f1 940B0000 .4byte 0xb94 14824 12f5 1A130000 .4byte 0x131a 14825 12f9 0E .uleb128 0xe 14826 12fa 01 .byte 0x1 14827 12fb 50 .byte 0x50 ARM GAS /tmp/ccJhhmLc.s page 737 14828 12fc 02 .byte 0x2 14829 12fd 74 .byte 0x74 14830 12fe 00 .sleb128 0 14831 12ff 0E .uleb128 0xe 14832 1300 01 .byte 0x1 14833 1301 51 .byte 0x51 14834 1302 05 .byte 0x5 14835 1303 0C .byte 0xc 14836 1304 02001000 .4byte 0x100002 14837 1308 0E .uleb128 0xe 14838 1309 01 .byte 0x1 14839 130a 52 .byte 0x52 14840 130b 01 .byte 0x1 14841 130c 31 .byte 0x31 14842 130d 0E .uleb128 0xe 14843 130e 01 .byte 0x1 14844 130f 53 .byte 0x53 14845 1310 01 .byte 0x1 14846 1311 49 .byte 0x49 14847 1312 0E .uleb128 0xe 14848 1313 02 .byte 0x2 14849 1314 7D .byte 0x7d 14850 1315 00 .sleb128 0 14851 1316 02 .byte 0x2 14852 1317 76 .byte 0x76 14853 1318 00 .sleb128 0 14854 1319 00 .byte 0 14855 131a 1F .uleb128 0x1f 14856 131b 90020000 .4byte .LVL231 14857 131f 620F0000 .4byte 0xf62 14858 1323 3A130000 .4byte 0x133a 14859 1327 0E .uleb128 0xe 14860 1328 01 .byte 0x1 14861 1329 50 .byte 0x50 14862 132a 02 .byte 0x2 14863 132b 74 .byte 0x74 14864 132c 00 .sleb128 0 14865 132d 0E .uleb128 0xe 14866 132e 01 .byte 0x1 14867 132f 51 .byte 0x51 14868 1330 02 .byte 0x2 14869 1331 77 .byte 0x77 14870 1332 00 .sleb128 0 14871 1333 0E .uleb128 0xe 14872 1334 01 .byte 0x1 14873 1335 52 .byte 0x52 14874 1336 02 .byte 0x2 14875 1337 76 .byte 0x76 14876 1338 00 .sleb128 0 14877 1339 00 .byte 0 14878 133a 0F .uleb128 0xf 14879 133b DC020000 .4byte .LVL233 14880 133f 940B0000 .4byte 0xb94 14881 1343 0F .uleb128 0xf 14882 1344 12030000 .4byte .LVL235 14883 1348 940B0000 .4byte 0xb94 14884 134c 0D .uleb128 0xd ARM GAS /tmp/ccJhhmLc.s page 738 14885 134d 52030000 .4byte .LVL236 14886 1351 620F0000 .4byte 0xf62 14887 1355 0E .uleb128 0xe 14888 1356 01 .byte 0x1 14889 1357 50 .byte 0x50 14890 1358 02 .byte 0x2 14891 1359 74 .byte 0x74 14892 135a 00 .sleb128 0 14893 135b 0E .uleb128 0xe 14894 135c 01 .byte 0x1 14895 135d 51 .byte 0x51 14896 135e 02 .byte 0x2 14897 135f 77 .byte 0x77 14898 1360 00 .sleb128 0 14899 1361 0E .uleb128 0xe 14900 1362 01 .byte 0x1 14901 1363 52 .byte 0x52 14902 1364 02 .byte 0x2 14903 1365 76 .byte 0x76 14904 1366 00 .sleb128 0 14905 1367 00 .byte 0 14906 1368 00 .byte 0 14907 1369 00 .byte 0 14908 136a 1F .uleb128 0x1f 14909 136b 2A000000 .4byte .LVL200 14910 136f C9010000 .4byte 0x1c9 14911 1373 7E130000 .4byte 0x137e 14912 1377 0E .uleb128 0xe 14913 1378 01 .byte 0x1 14914 1379 50 .byte 0x50 14915 137a 02 .byte 0x2 14916 137b 74 .byte 0x74 14917 137c 00 .sleb128 0 14918 137d 00 .byte 0 14919 137e 0D .uleb128 0xd 14920 137f 00010000 .4byte .LVL211 14921 1383 0D050000 .4byte 0x50d 14922 1387 0E .uleb128 0xe 14923 1388 01 .byte 0x1 14924 1389 50 .byte 0x50 14925 138a 02 .byte 0x2 14926 138b 91 .byte 0x91 14927 138c 50 .sleb128 -48 14928 138d 00 .byte 0 14929 138e 00 .byte 0 14930 138f 06 .uleb128 0x6 14931 1390 78170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6008 14932 1394 00000000 .4byte .LFB66 14933 1398 F4010000 .4byte .LFE66 14934 139c 7A1C0000 .4byte .LLST142 14935 13a0 01 .byte 0x1 14936 13a1 BA160000 .4byte 0x16ba 14937 13a5 07 .uleb128 0x7 14938 13a6 8E170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6030 14939 13aa C81C0000 .4byte .LLST143 14940 13ae C01C0000 .4byte .LVUS143 14941 13b2 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 739 14942 13b3 9B170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6043 14943 13b7 0B1D0000 .4byte .LLST144 14944 13bb 051D0000 .4byte .LVUS144 14945 13bf 07 .uleb128 0x7 14946 13c0 A8170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6056 14947 13c4 3D1D0000 .4byte .LLST145 14948 13c8 351D0000 .4byte .LVUS145 14949 13cc 07 .uleb128 0x7 14950 13cd B5170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6069 14951 13d1 801D0000 .4byte .LLST146 14952 13d5 7A1D0000 .4byte .LVUS146 14953 13d9 07 .uleb128 0x7 14954 13da C2170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6082 14955 13de AE1D0000 .4byte .LLST147 14956 13e2 AA1D0000 .4byte .LVUS147 14957 13e6 07 .uleb128 0x7 14958 13e7 CF170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6095 14959 13eb D21D0000 .4byte .LLST148 14960 13ef CE1D0000 .4byte .LVUS148 14961 13f3 07 .uleb128 0x7 14962 13f4 DC170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6108 14963 13f8 FC1D0000 .4byte .LLST149 14964 13fc F21D0000 .4byte .LVUS149 14965 1400 05 .uleb128 0x5 14966 1401 E9170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6121 14967 1405 4C1E0000 .4byte .LLST150 14968 1409 401E0000 .4byte .LVUS150 14969 140d 20 .uleb128 0x20 14970 140e F4170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6132 14971 1412 02 .byte 0x2 14972 1413 91 .byte 0x91 14973 1414 50 .sleb128 -48 14974 1415 18 .uleb128 0x18 14975 1416 AC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6828 14976 141a 00000000 .4byte .LBI375 14977 141e 0200 .2byte .LVU1352 14978 1420 B8030000 .4byte .Ldebug_ranges0+0x3b8 14979 1424 03 .byte 0x3 14980 1425 6402 .2byte 0x264 14981 1427 28 .byte 0x28 14982 1428 3A140000 .4byte 0x143a 14983 142c 07 .uleb128 0x7 14984 142d BC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6844 14985 1431 9A1E0000 .4byte .LLST151 14986 1435 961E0000 .4byte .LVUS151 14987 1439 00 .byte 0 14988 143a 18 .uleb128 0x18 14989 143b 651B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7013 14990 143f 2A000000 .4byte .LBI381 14991 1443 0100 .2byte .LVU1366 14992 1445 D8030000 .4byte .Ldebug_ranges0+0x3d8 14993 1449 03 .byte 0x3 14994 144a 6702 .2byte 0x267 14995 144c 03 .byte 0x3 14996 144d 7E140000 .4byte 0x147e 14997 1451 07 .uleb128 0x7 14998 1452 6E1B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7022 ARM GAS /tmp/ccJhhmLc.s page 740 14999 1456 C01E0000 .4byte .LLST152 15000 145a B81E0000 .4byte .LVUS152 15001 145e 0D .uleb128 0xd 15002 145f 3C000000 .4byte .LVL245 15003 1463 9E040000 .4byte 0x49e 15004 1467 0E .uleb128 0xe 15005 1468 01 .byte 0x1 15006 1469 50 .byte 0x50 15007 146a 02 .byte 0x2 15008 146b 91 .byte 0x91 15009 146c 50 .sleb128 -48 15010 146d 0E .uleb128 0xe 15011 146e 01 .byte 0x1 15012 146f 51 .byte 0x51 15013 1470 0B .byte 0xb 15014 1471 75 .byte 0x75 15015 1472 00 .sleb128 0 15016 1473 78 .byte 0x78 15017 1474 00 .sleb128 0 15018 1475 22 .byte 0x22 15019 1476 03 .byte 0x3 15020 1477 A8FFFFFF .4byte _ZL9_i2c_devs-88 15021 147b 1C .byte 0x1c 15022 147c 00 .byte 0 15023 147d 00 .byte 0 15024 147e 18 .uleb128 0x18 15025 147f 57190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6487 15026 1483 3C000000 .4byte .LBI385 15027 1487 0200 .2byte .LVU1377 15028 1489 F8030000 .4byte .Ldebug_ranges0+0x3f8 15029 148d 03 .byte 0x3 15030 148e 6802 .2byte 0x268 15031 1490 18 .byte 0x18 15032 1491 95160000 .4byte 0x1695 15033 1495 07 .uleb128 0x7 15034 1496 6A190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6506 15035 149a 191F0000 .4byte .LLST153 15036 149e 071F0000 .4byte .LVUS153 15037 14a2 07 .uleb128 0x7 15038 14a3 77190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6519 15039 14a7 8E1F0000 .4byte .LLST154 15040 14ab 841F0000 .4byte .LVUS154 15041 14af 07 .uleb128 0x7 15042 14b0 84190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6532 15043 14b4 FB1F0000 .4byte .LLST155 15044 14b8 EB1F0000 .4byte .LVUS155 15045 14bc 07 .uleb128 0x7 15046 14bd 91190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6545 15047 14c1 80200000 .4byte .LLST156 15048 14c5 76200000 .4byte .LVUS156 15049 14c9 07 .uleb128 0x7 15050 14ca 9E190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6558 15051 14ce CE200000 .4byte .LLST157 15052 14d2 C4200000 .4byte .LVUS157 15053 14d6 07 .uleb128 0x7 15054 14d7 AB190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6571 15055 14db 1C210000 .4byte .LLST158 ARM GAS /tmp/ccJhhmLc.s page 741 15056 14df 12210000 .4byte .LVUS158 15057 14e3 07 .uleb128 0x7 15058 14e4 B8190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6584 15059 14e8 72210000 .4byte .LLST159 15060 14ec 60210000 .4byte .LVUS159 15061 14f0 0A .uleb128 0xa 15062 14f1 F8030000 .4byte .Ldebug_ranges0+0x3f8 15063 14f5 05 .uleb128 0x5 15064 14f6 C5190000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+6597 15065 14fa EF210000 .4byte .LLST160 15066 14fe DD210000 .4byte .LVUS160 15067 1502 18 .uleb128 0x18 15068 1503 37050000 .4byte stm32_hal.cpp.4653489c+1335 15069 1507 3C000000 .4byte .LBI387 15070 150b 0400 .2byte .LVU1379 15071 150d 30040000 .4byte .Ldebug_ranges0+0x430 15072 1511 0A .byte 0xa 15073 1512 B709 .2byte 0x9b7 15074 1514 18 .byte 0x18 15075 1515 2C150000 .4byte 0x152c 15076 1519 26 .uleb128 0x26 15077 151a C70D0000 .4byte timers_driver.cpp.9287e71d+3527 15078 151e 3C000000 .4byte .LBI388 15079 1522 0600 .2byte .LVU1381 15080 1524 30040000 .4byte .Ldebug_ranges0+0x430 15081 1528 0B .byte 0xb 15082 1529 1B .byte 0x1b 15083 152a 1B .byte 0x1b 15084 152b 00 .byte 0 15085 152c 18 .uleb128 0x18 15086 152d 960A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2710 15087 1531 C4000000 .4byte .LBI393 15088 1535 0100 .2byte .LVU1429 15089 1537 48040000 .4byte .Ldebug_ranges0+0x448 15090 153b 0A .byte 0xa 15091 153c DC09 .2byte 0x9dc 15092 153e 09 .byte 0x9 15093 153f 3C160000 .4byte 0x163c 15094 1543 07 .uleb128 0x7 15095 1544 A80A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2728 15096 1548 62220000 .4byte .LLST161 15097 154c 5A220000 .4byte .LVUS161 15098 1550 07 .uleb128 0x7 15099 1551 B50A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2741 15100 1555 9E220000 .4byte .LLST162 15101 1559 96220000 .4byte .LVUS162 15102 155d 07 .uleb128 0x7 15103 155e C20A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2754 15104 1562 F4220000 .4byte .LLST163 15105 1566 EA220000 .4byte .LVUS163 15106 156a 07 .uleb128 0x7 15107 156b CF0A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2767 15108 156f 44230000 .4byte .LLST164 15109 1573 3C230000 .4byte .LVUS164 15110 1577 07 .uleb128 0x7 15111 1578 DC0A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2780 15112 157c 84230000 .4byte .LLST165 ARM GAS /tmp/ccJhhmLc.s page 742 15113 1580 7C230000 .4byte .LVUS165 15114 1584 07 .uleb128 0x7 15115 1585 E90A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2793 15116 1589 C0230000 .4byte .LLST166 15117 158d B8230000 .4byte .LVUS166 15118 1591 28 .uleb128 0x28 15119 1592 F60A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2806 15120 1596 70040000 .4byte .Ldebug_ranges0+0x470 15121 159a A7150000 .4byte 0x15a7 15122 159e 20 .uleb128 0x20 15123 159f F70A0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+2807 15124 15a3 02 .byte 0x2 15125 15a4 91 .byte 0x91 15126 15a5 4C .sleb128 -52 15127 15a6 00 .byte 0 15128 15a7 1F .uleb128 0x1f 15129 15a8 DC000000 .4byte .LVL252 15130 15ac 940B0000 .4byte 0xb94 15131 15b0 D6150000 .4byte 0x15d6 15132 15b4 0E .uleb128 0xe 15133 15b5 01 .byte 0x1 15134 15b6 50 .byte 0x50 15135 15b7 02 .byte 0x2 15136 15b8 78 .byte 0x78 15137 15b9 00 .sleb128 0 15138 15ba 0E .uleb128 0xe 15139 15bb 01 .byte 0x1 15140 15bc 51 .byte 0x51 15141 15bd 05 .byte 0x5 15142 15be 0C .byte 0xc 15143 15bf 01000100 .4byte 0x10001 15144 15c3 0E .uleb128 0xe 15145 15c4 01 .byte 0x1 15146 15c5 52 .byte 0x52 15147 15c6 01 .byte 0x1 15148 15c7 30 .byte 0x30 15149 15c8 0E .uleb128 0xe 15150 15c9 01 .byte 0x1 15151 15ca 53 .byte 0x53 15152 15cb 02 .byte 0x2 15153 15cc 7B .byte 0x7b 15154 15cd 00 .sleb128 0 15155 15ce 0E .uleb128 0xe 15156 15cf 02 .byte 0x2 15157 15d0 7D .byte 0x7d 15158 15d1 00 .sleb128 0 15159 15d2 02 .byte 0x2 15160 15d3 79 .byte 0x79 15161 15d4 00 .sleb128 0 15162 15d5 00 .byte 0 15163 15d6 1F .uleb128 0x1f 15164 15d7 02010000 .4byte .LVL255 15165 15db 990B0000 .4byte 0xb99 15166 15df FF150000 .4byte 0x15ff 15167 15e3 0E .uleb128 0xe 15168 15e4 01 .byte 0x1 15169 15e5 50 .byte 0x50 ARM GAS /tmp/ccJhhmLc.s page 743 15170 15e6 02 .byte 0x2 15171 15e7 78 .byte 0x78 15172 15e8 00 .sleb128 0 15173 15e9 0E .uleb128 0xe 15174 15ea 01 .byte 0x1 15175 15eb 51 .byte 0x51 15176 15ec 05 .byte 0x5 15177 15ed 0C .byte 0xc 15178 15ee 02000100 .4byte 0x10002 15179 15f2 0E .uleb128 0xe 15180 15f3 01 .byte 0x1 15181 15f4 52 .byte 0x52 15182 15f5 02 .byte 0x2 15183 15f6 7B .byte 0x7b 15184 15f7 00 .sleb128 0 15185 15f8 0E .uleb128 0xe 15186 15f9 01 .byte 0x1 15187 15fa 53 .byte 0x53 15188 15fb 02 .byte 0x2 15189 15fc 79 .byte 0x79 15190 15fd 00 .sleb128 0 15191 15fe 00 .byte 0 15192 15ff 1F .uleb128 0x1f 15193 1600 1E010000 .4byte .LVL256 15194 1604 9E0B0000 .4byte 0xb9e 15195 1608 1F160000 .4byte 0x161f 15196 160c 0E .uleb128 0xe 15197 160d 01 .byte 0x1 15198 160e 50 .byte 0x50 15199 160f 02 .byte 0x2 15200 1610 78 .byte 0x78 15201 1611 00 .sleb128 0 15202 1612 0E .uleb128 0xe 15203 1613 01 .byte 0x1 15204 1614 51 .byte 0x51 15205 1615 02 .byte 0x2 15206 1616 7B .byte 0x7b 15207 1617 00 .sleb128 0 15208 1618 0E .uleb128 0xe 15209 1619 01 .byte 0x1 15210 161a 52 .byte 0x52 15211 161b 02 .byte 0x2 15212 161c 79 .byte 0x79 15213 161d 00 .sleb128 0 15214 161e 00 .byte 0 15215 161f 0D .uleb128 0xd 15216 1620 80010000 .4byte .LVL266 15217 1624 9E0B0000 .4byte 0xb9e 15218 1628 0E .uleb128 0xe 15219 1629 01 .byte 0x1 15220 162a 50 .byte 0x50 15221 162b 02 .byte 0x2 15222 162c 78 .byte 0x78 15223 162d 00 .sleb128 0 15224 162e 0E .uleb128 0xe 15225 162f 01 .byte 0x1 15226 1630 51 .byte 0x51 ARM GAS /tmp/ccJhhmLc.s page 744 15227 1631 02 .byte 0x2 15228 1632 7B .byte 0x7b 15229 1633 00 .sleb128 0 15230 1634 0E .uleb128 0xe 15231 1635 01 .byte 0x1 15232 1636 52 .byte 0x52 15233 1637 02 .byte 0x2 15234 1638 79 .byte 0x79 15235 1639 00 .sleb128 0 15236 163a 00 .byte 0 15237 163b 00 .byte 0 15238 163c 1F .uleb128 0x1f 15239 163d 6E000000 .4byte .LVL250 15240 1641 940B0000 .4byte 0xb94 15241 1645 6A160000 .4byte 0x166a 15242 1649 0E .uleb128 0xe 15243 164a 01 .byte 0x1 15244 164b 50 .byte 0x50 15245 164c 02 .byte 0x2 15246 164d 78 .byte 0x78 15247 164e 00 .sleb128 0 15248 164f 0E .uleb128 0xe 15249 1650 01 .byte 0x1 15250 1651 51 .byte 0x51 15251 1652 05 .byte 0x5 15252 1653 0C .byte 0xc 15253 1654 02001000 .4byte 0x100002 15254 1658 0E .uleb128 0xe 15255 1659 01 .byte 0x1 15256 165a 52 .byte 0x52 15257 165b 01 .byte 0x1 15258 165c 31 .byte 0x31 15259 165d 0E .uleb128 0xe 15260 165e 01 .byte 0x1 15261 165f 53 .byte 0x53 15262 1660 01 .byte 0x1 15263 1661 49 .byte 0x49 15264 1662 0E .uleb128 0xe 15265 1663 02 .byte 0x2 15266 1664 7D .byte 0x7d 15267 1665 00 .sleb128 0 15268 1666 02 .byte 0x2 15269 1667 79 .byte 0x79 15270 1668 00 .sleb128 0 15271 1669 00 .byte 0 15272 166a 1F .uleb128 0x1f 15273 166b 54010000 .4byte .LVL263 15274 166f A30B0000 .4byte 0xba3 15275 1673 8A160000 .4byte 0x168a 15276 1677 0E .uleb128 0xe 15277 1678 01 .byte 0x1 15278 1679 50 .byte 0x50 15279 167a 02 .byte 0x2 15280 167b 78 .byte 0x78 15281 167c 00 .sleb128 0 15282 167d 0E .uleb128 0xe 15283 167e 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 745 15284 167f 51 .byte 0x51 15285 1680 02 .byte 0x2 15286 1681 7B .byte 0x7b 15287 1682 00 .sleb128 0 15288 1683 0E .uleb128 0xe 15289 1684 01 .byte 0x1 15290 1685 52 .byte 0x52 15291 1686 02 .byte 0x2 15292 1687 79 .byte 0x79 15293 1688 00 .sleb128 0 15294 1689 00 .byte 0 15295 168a 0F .uleb128 0xf 15296 168b 8C010000 .4byte .LVL268 15297 168f 9E0B0000 .4byte 0xb9e 15298 1693 00 .byte 0 15299 1694 00 .byte 0 15300 1695 1F .uleb128 0x1f 15301 1696 2A000000 .4byte .LVL242 15302 169a C9010000 .4byte 0x1c9 15303 169e A9160000 .4byte 0x16a9 15304 16a2 0E .uleb128 0xe 15305 16a3 01 .byte 0x1 15306 16a4 50 .byte 0x50 15307 16a5 02 .byte 0x2 15308 16a6 78 .byte 0x78 15309 16a7 00 .sleb128 0 15310 16a8 00 .byte 0 15311 16a9 0D .uleb128 0xd 15312 16aa 56000000 .4byte .LVL248 15313 16ae 0D050000 .4byte 0x50d 15314 16b2 0E .uleb128 0xe 15315 16b3 01 .byte 0x1 15316 16b4 50 .byte 0x50 15317 16b5 02 .byte 0x2 15318 16b6 91 .byte 0x91 15319 16b7 50 .sleb128 -48 15320 16b8 00 .byte 0 15321 16b9 00 .byte 0 15322 16ba 06 .uleb128 0x6 15323 16bb 08170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5896 15324 16bf 00000000 .4byte .LFB69 15325 16c3 B0010000 .4byte .LFE69 15326 16c7 F4230000 .4byte .LLST167 15327 16cb 01 .byte 0x1 15328 16cc 8B190000 .4byte 0x198b 15329 16d0 07 .uleb128 0x7 15330 16d1 1E170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5918 15331 16d5 42240000 .4byte .LLST168 15332 16d9 3A240000 .4byte .LVUS168 15333 16dd 07 .uleb128 0x7 15334 16de 2B170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5931 15335 16e2 85240000 .4byte .LLST169 15336 16e6 7F240000 .4byte .LVUS169 15337 16ea 07 .uleb128 0x7 15338 16eb 38170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5944 15339 16ef B5240000 .4byte .LLST170 15340 16f3 AF240000 .4byte .LVUS170 ARM GAS /tmp/ccJhhmLc.s page 746 15341 16f7 07 .uleb128 0x7 15342 16f8 45170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5957 15343 16fc E5240000 .4byte .LLST171 15344 1700 DF240000 .4byte .LVUS171 15345 1704 05 .uleb128 0x5 15346 1705 52170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5970 15347 1709 12250000 .4byte .LLST172 15348 170d 0E250000 .4byte .LVUS172 15349 1711 20 .uleb128 0x20 15350 1712 5D170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5981 15351 1716 02 .byte 0x2 15352 1717 91 .byte 0x91 15353 1718 50 .sleb128 -48 15354 1719 05 .uleb128 0x5 15355 171a 6A170000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5994 15356 171e 36250000 .4byte .LLST173 15357 1722 30250000 .4byte .LVUS173 15358 1726 18 .uleb128 0x18 15359 1727 AC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6828 15360 172b 00000000 .4byte .LBI436 15361 172f 0200 .2byte .LVU1546 15362 1731 88040000 .4byte .Ldebug_ranges0+0x488 15363 1735 03 .byte 0x3 15364 1736 7102 .2byte 0x271 15365 1738 28 .byte 0x28 15366 1739 4B170000 .4byte 0x174b 15367 173d 07 .uleb128 0x7 15368 173e BC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6844 15369 1742 66250000 .4byte .LLST174 15370 1746 62250000 .4byte .LVUS174 15371 174a 00 .byte 0 15372 174b 18 .uleb128 0x18 15373 174c E7150000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5607 15374 1750 44000000 .4byte .LBI443 15375 1754 0200 .2byte .LVU1572 15376 1756 B0040000 .4byte .Ldebug_ranges0+0x4b0 15377 175a 03 .byte 0x3 15378 175b 7502 .2byte 0x275 15379 175d 30 .byte 0x30 15380 175e 26190000 .4byte 0x1926 15381 1762 07 .uleb128 0x7 15382 1763 FA150000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5626 15383 1767 8C250000 .4byte .LLST175 15384 176b 84250000 .4byte .LVUS175 15385 176f 07 .uleb128 0x7 15386 1770 07160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5639 15387 1774 C8250000 .4byte .LLST176 15388 1778 C0250000 .4byte .LVUS176 15389 177c 07 .uleb128 0x7 15390 177d 14160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5652 15391 1781 1C260000 .4byte .LLST177 15392 1785 14260000 .4byte .LVUS177 15393 1789 07 .uleb128 0x7 15394 178a 21160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5665 15395 178e 5C260000 .4byte .LLST178 15396 1792 54260000 .4byte .LVUS178 15397 1796 0A .uleb128 0xa ARM GAS /tmp/ccJhhmLc.s page 747 15398 1797 B0040000 .4byte .Ldebug_ranges0+0x4b0 15399 179b 05 .uleb128 0x5 15400 179c 2E160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5678 15401 17a0 98260000 .4byte .LLST179 15402 17a4 90260000 .4byte .LVUS179 15403 17a8 05 .uleb128 0x5 15404 17a9 3B160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5691 15405 17ad D6260000 .4byte .LLST180 15406 17b1 CC260000 .4byte .LVUS180 15407 17b5 05 .uleb128 0x5 15408 17b6 48160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5704 15409 17ba 1D270000 .4byte .LLST181 15410 17be 17270000 .4byte .LVUS181 15411 17c2 05 .uleb128 0x5 15412 17c3 55160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5717 15413 17c7 48270000 .4byte .LLST182 15414 17cb 46270000 .4byte .LVUS182 15415 17cf 18 .uleb128 0x18 15416 17d0 37050000 .4byte stm32_hal.cpp.4653489c+1335 15417 17d4 44000000 .4byte .LBI445 15418 17d8 0400 .2byte .LVU1574 15419 17da F8040000 .4byte .Ldebug_ranges0+0x4f8 15420 17de 0A .byte 0xa 15421 17df 5F0D .2byte 0xd5f 15422 17e1 18 .byte 0x18 15423 17e2 F9170000 .4byte 0x17f9 15424 17e6 26 .uleb128 0x26 15425 17e7 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 15426 17eb 44000000 .4byte .LBI446 15427 17ef 0600 .2byte .LVU1576 15428 17f1 F8040000 .4byte .Ldebug_ranges0+0x4f8 15429 17f5 0B .byte 0xb 15430 17f6 1B .byte 0x1b 15431 17f7 1B .byte 0x1b 15432 17f8 00 .byte 0 15433 17f9 18 .uleb128 0x18 15434 17fa 37050000 .4byte stm32_hal.cpp.4653489c+1335 15435 17fe 52010000 .4byte .LBI451 15436 1802 0100 .2byte .LVU1676 15437 1804 10050000 .4byte .Ldebug_ranges0+0x510 15438 1808 0A .byte 0xa 15439 1809 970D .2byte 0xd97 15440 180b 0F .byte 0xf 15441 180c 23180000 .4byte 0x1823 15442 1810 26 .uleb128 0x26 15443 1811 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 15444 1815 52010000 .4byte .LBI452 15445 1819 0300 .2byte .LVU1678 15446 181b 10050000 .4byte .Ldebug_ranges0+0x510 15447 181f 0B .byte 0xb 15448 1820 1B .byte 0x1b 15449 1821 1B .byte 0x1b 15450 1822 00 .byte 0 15451 1823 16 .uleb128 0x16 15452 1824 37050000 .4byte stm32_hal.cpp.4653489c+1335 15453 1828 EC000000 .4byte .LBI456 15454 182c 0100 .2byte .LVU1629 ARM GAS /tmp/ccJhhmLc.s page 748 15455 182e EC000000 .4byte .LBB456 15456 1832 F0000000 .4byte .LBE456 15457 1836 0A .byte 0xa 15458 1837 910D .2byte 0xd91 15459 1839 13 .byte 0x13 15460 183a 55180000 .4byte 0x1855 15461 183e 29 .uleb128 0x29 15462 183f C70D0000 .4byte timers_driver.cpp.9287e71d+3527 15463 1843 EC000000 .4byte .LBI457 15464 1847 0300 .2byte .LVU1631 15465 1849 EC000000 .4byte .LBB457 15466 184d F0000000 .4byte .LBE457 15467 1851 0B .byte 0xb 15468 1852 1B .byte 0x1b 15469 1853 1B .byte 0x1b 15470 1854 00 .byte 0 15471 1855 27 .uleb128 0x27 15472 1856 62160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5730 15473 185a 26010000 .4byte .LBB459 15474 185e 34010000 .4byte .LBE459 15475 1862 6F180000 .4byte 0x186f 15476 1866 20 .uleb128 0x20 15477 1867 63160000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+5731 15478 186b 02 .byte 0x2 15479 186c 91 .byte 0x91 15480 186d 4C .sleb128 -52 15481 186e 00 .byte 0 15482 186f 1F .uleb128 0x1f 15483 1870 70000000 .4byte .LVL280 15484 1874 940B0000 .4byte 0xb94 15485 1878 9D180000 .4byte 0x189d 15486 187c 0E .uleb128 0xe 15487 187d 01 .byte 0x1 15488 187e 50 .byte 0x50 15489 187f 02 .byte 0x2 15490 1880 76 .byte 0x76 15491 1881 00 .sleb128 0 15492 1882 0E .uleb128 0xe 15493 1883 01 .byte 0x1 15494 1884 51 .byte 0x51 15495 1885 05 .byte 0x5 15496 1886 0C .byte 0xc 15497 1887 02001000 .4byte 0x100002 15498 188b 0E .uleb128 0xe 15499 188c 01 .byte 0x1 15500 188d 52 .byte 0x52 15501 188e 01 .byte 0x1 15502 188f 31 .byte 0x31 15503 1890 0E .uleb128 0xe 15504 1891 01 .byte 0x1 15505 1892 53 .byte 0x53 15506 1893 01 .byte 0x1 15507 1894 49 .byte 0x49 15508 1895 0E .uleb128 0xe 15509 1896 02 .byte 0x2 15510 1897 7D .byte 0x7d 15511 1898 00 .sleb128 0 ARM GAS /tmp/ccJhhmLc.s page 749 15512 1899 02 .byte 0x2 15513 189a 74 .byte 0x74 15514 189b 00 .sleb128 0 15515 189c 00 .byte 0 15516 189d 1F .uleb128 0x1f 15517 189e D0000000 .4byte .LVL282 15518 18a2 940B0000 .4byte 0xb94 15519 18a6 CC180000 .4byte 0x18cc 15520 18aa 0E .uleb128 0xe 15521 18ab 01 .byte 0x1 15522 18ac 50 .byte 0x50 15523 18ad 02 .byte 0x2 15524 18ae 76 .byte 0x76 15525 18af 00 .sleb128 0 15526 18b0 0E .uleb128 0xe 15527 18b1 01 .byte 0x1 15528 18b2 51 .byte 0x51 15529 18b3 05 .byte 0x5 15530 18b4 0C .byte 0xc 15531 18b5 01000100 .4byte 0x10001 15532 18b9 0E .uleb128 0xe 15533 18ba 01 .byte 0x1 15534 18bb 52 .byte 0x52 15535 18bc 01 .byte 0x1 15536 18bd 30 .byte 0x30 15537 18be 0E .uleb128 0xe 15538 18bf 01 .byte 0x1 15539 18c0 53 .byte 0x53 15540 18c1 02 .byte 0x2 15541 18c2 77 .byte 0x77 15542 18c3 00 .sleb128 0 15543 18c4 0E .uleb128 0xe 15544 18c5 02 .byte 0x2 15545 18c6 7D .byte 0x7d 15546 18c7 00 .sleb128 0 15547 18c8 02 .byte 0x2 15548 18c9 74 .byte 0x74 15549 18ca 00 .sleb128 0 15550 18cb 00 .byte 0 15551 18cc 1F .uleb128 0x1f 15552 18cd 42010000 .4byte .LVL291 15553 18d1 940B0000 .4byte 0xb94 15554 18d5 FA180000 .4byte 0x18fa 15555 18d9 0E .uleb128 0xe 15556 18da 01 .byte 0x1 15557 18db 50 .byte 0x50 15558 18dc 02 .byte 0x2 15559 18dd 76 .byte 0x76 15560 18de 00 .sleb128 0 15561 18df 0E .uleb128 0xe 15562 18e0 01 .byte 0x1 15563 18e1 51 .byte 0x51 15564 18e2 05 .byte 0x5 15565 18e3 0C .byte 0xc 15566 18e4 02001000 .4byte 0x100002 15567 18e8 0E .uleb128 0xe 15568 18e9 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 750 15569 18ea 52 .byte 0x52 15570 18eb 01 .byte 0x1 15571 18ec 31 .byte 0x31 15572 18ed 0E .uleb128 0xe 15573 18ee 01 .byte 0x1 15574 18ef 53 .byte 0x53 15575 18f0 01 .byte 0x1 15576 18f1 49 .byte 0x49 15577 18f2 0E .uleb128 0xe 15578 18f3 02 .byte 0x2 15579 18f4 7D .byte 0x7d 15580 18f5 00 .sleb128 0 15581 18f6 02 .byte 0x2 15582 18f7 74 .byte 0x74 15583 18f8 00 .sleb128 0 15584 18f9 00 .byte 0 15585 18fa 0D .uleb128 0xd 15586 18fb 82010000 .4byte .LVL298 15587 18ff 940B0000 .4byte 0xb94 15588 1903 0E .uleb128 0xe 15589 1904 01 .byte 0x1 15590 1905 50 .byte 0x50 15591 1906 02 .byte 0x2 15592 1907 76 .byte 0x76 15593 1908 00 .sleb128 0 15594 1909 0E .uleb128 0xe 15595 190a 01 .byte 0x1 15596 190b 51 .byte 0x51 15597 190c 05 .byte 0x5 15598 190d 0C .byte 0xc 15599 190e 02001000 .4byte 0x100002 15600 1912 0E .uleb128 0xe 15601 1913 01 .byte 0x1 15602 1914 52 .byte 0x52 15603 1915 01 .byte 0x1 15604 1916 31 .byte 0x31 15605 1917 0E .uleb128 0xe 15606 1918 01 .byte 0x1 15607 1919 53 .byte 0x53 15608 191a 01 .byte 0x1 15609 191b 49 .byte 0x49 15610 191c 0E .uleb128 0xe 15611 191d 02 .byte 0x2 15612 191e 7D .byte 0x7d 15613 191f 00 .sleb128 0 15614 1920 02 .byte 0x2 15615 1921 74 .byte 0x74 15616 1922 00 .sleb128 0 15617 1923 00 .byte 0 15618 1924 00 .byte 0 15619 1925 00 .byte 0 15620 1926 18 .uleb128 0x18 15621 1927 651B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7013 15622 192b 34000000 .4byte .LBI471 15623 192f 0100 .2byte .LVU1565 15624 1931 28050000 .4byte .Ldebug_ranges0+0x528 15625 1935 03 .byte 0x3 ARM GAS /tmp/ccJhhmLc.s page 751 15626 1936 7402 .2byte 0x274 15627 1938 03 .byte 0x3 15628 1939 66190000 .4byte 0x1966 15629 193d 07 .uleb128 0x7 15630 193e 6E1B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7022 15631 1942 5D270000 .4byte .LLST183 15632 1946 5B270000 .4byte .LVUS183 15633 194a 0D .uleb128 0xd 15634 194b 44000000 .4byte .LVL275 15635 194f 9E040000 .4byte 0x49e 15636 1953 0E .uleb128 0xe 15637 1954 01 .byte 0x1 15638 1955 50 .byte 0x50 15639 1956 02 .byte 0x2 15640 1957 91 .byte 0x91 15641 1958 50 .sleb128 -48 15642 1959 0E .uleb128 0xe 15643 195a 01 .byte 0x1 15644 195b 51 .byte 0x51 15645 195c 07 .byte 0x7 15646 195d 78 .byte 0x78 15647 195e 00 .sleb128 0 15648 195f 74 .byte 0x74 15649 1960 00 .sleb128 0 15650 1961 22 .byte 0x22 15651 1962 23 .byte 0x23 15652 1963 58 .uleb128 0x58 15653 1964 00 .byte 0 15654 1965 00 .byte 0 15655 1966 1F .uleb128 0x1f 15656 1967 34000000 .4byte .LVL274 15657 196b C9010000 .4byte 0x1c9 15658 196f 7A190000 .4byte 0x197a 15659 1973 0E .uleb128 0xe 15660 1974 01 .byte 0x1 15661 1975 50 .byte 0x50 15662 1976 02 .byte 0x2 15663 1977 76 .byte 0x76 15664 1978 00 .sleb128 0 15665 1979 00 .byte 0 15666 197a 0D .uleb128 0xd 15667 197b 5A000000 .4byte .LVL278 15668 197f 0D050000 .4byte 0x50d 15669 1983 0E .uleb128 0xe 15670 1984 01 .byte 0x1 15671 1985 50 .byte 0x50 15672 1986 02 .byte 0x2 15673 1987 91 .byte 0x91 15674 1988 50 .sleb128 -48 15675 1989 00 .byte 0 15676 198a 00 .byte 0 15677 198b 2A .uleb128 0x2a 15678 198c E0070000 .4byte usbd_ctlreq.c.815add09+2016 15679 1990 64040000 .4byte .LASF4 15680 1994 00000000 .4byte .LFB72 15681 1998 44000000 .4byte .LFE72 15682 199c 78270000 .4byte .LLST184 ARM GAS /tmp/ccJhhmLc.s page 752 15683 19a0 01 .byte 0x1 15684 19a1 281A0000 .4byte 0x1a28 15685 19a5 07 .uleb128 0x7 15686 19a6 EF070000 .4byte usbd_ctlreq.c.815add09+2031 15687 19aa 9E270000 .4byte .LLST185 15688 19ae 98270000 .4byte .LVUS185 15689 19b2 07 .uleb128 0x7 15690 19b3 09080000 .4byte usbd_ctlreq.c.815add09+2057 15691 19b7 D4270000 .4byte .LLST186 15692 19bb D0270000 .4byte .LVUS186 15693 19bf 05 .uleb128 0x5 15694 19c0 16080000 .4byte usbd_ctlreq.c.815add09+2070 15695 19c4 FA270000 .4byte .LLST187 15696 19c8 F2270000 .4byte .LVUS187 15697 19cc 05 .uleb128 0x5 15698 19cd 23080000 .4byte usbd_ctlreq.c.815add09+2083 15699 19d1 3C280000 .4byte .LLST188 15700 19d5 32280000 .4byte .LVUS188 15701 19d9 09 .uleb128 0x9 15702 19da FC070000 .4byte usbd_ctlreq.c.815add09+2044 15703 19de 24 .uleb128 0x24 15704 19df A6070000 .4byte usbd_ctlreq.c.815add09+1958 15705 19e3 06000000 .4byte .LBB482 15706 19e7 0A000000 .4byte .LBE482 15707 19eb 0C .byte 0xc 15708 19ec EF03 .2byte 0x3ef 15709 19ee 0A .byte 0xa 15710 19ef 07 .uleb128 0x7 15711 19f0 B8070000 .4byte usbd_ctlreq.c.815add09+1976 15712 19f4 83280000 .4byte .LLST189 15713 19f8 7F280000 .4byte .LVUS189 15714 19fc 05 .uleb128 0x5 15715 19fd C5070000 .4byte usbd_ctlreq.c.815add09+1989 15716 1a01 A3280000 .4byte .LLST190 15717 1a05 A1280000 .4byte .LVUS190 15718 1a09 05 .uleb128 0x5 15719 1a0a D2070000 .4byte usbd_ctlreq.c.815add09+2002 15720 1a0e 83280000 .4byte .LLST189 15721 1a12 7F280000 .4byte .LVUS189 15722 1a16 0D .uleb128 0xd 15723 1a17 0A000000 .4byte .LVL305 15724 1a1b CE370000 .4byte 0x37ce 15725 1a1f 0E .uleb128 0xe 15726 1a20 01 .byte 0x1 15727 1a21 50 .byte 0x50 15728 1a22 02 .byte 0x2 15729 1a23 74 .byte 0x74 15730 1a24 00 .sleb128 0 15731 1a25 00 .byte 0 15732 1a26 00 .byte 0 15733 1a27 00 .byte 0 15734 1a28 2A .uleb128 0x2a 15735 1a29 A91B0000 .4byte usbd_conf.c.840d1894+7081 15736 1a2d 9B000000 .4byte .LASF5 15737 1a31 00000000 .4byte .LFB75 15738 1a35 50000000 .4byte .LFE75 15739 1a39 B7280000 .4byte .LLST192 ARM GAS /tmp/ccJhhmLc.s page 753 15740 1a3d 01 .byte 0x1 15741 1a3e CA1A0000 .4byte 0x1aca 15742 1a42 05 .uleb128 0x5 15743 1a43 C91B0000 .4byte usbd_conf.c.840d1894+7113 15744 1a47 F5280000 .4byte .LLST193 15745 1a4b EF280000 .4byte .LVUS193 15746 1a4f 2B .uleb128 0x2b 15747 1a50 D61B0000 .4byte usbd_conf.c.840d1894+7126 15748 1a54 00 .byte 0 15749 1a55 09 .uleb128 0x9 15750 1a56 BC1B0000 .4byte usbd_conf.c.840d1894+7100 15751 1a5a 2C .uleb128 0x2c 15752 1a5b AE130000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5038 15753 1a5f 40050000 .4byte .Ldebug_ranges0+0x540 15754 1a63 0D .byte 0xd 15755 1a64 B401 .2byte 0x1b4 15756 1a66 10 .byte 0x10 15757 1a67 BF1A0000 .4byte 0x1abf 15758 1a6b 07 .uleb128 0x7 15759 1a6c C1130000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5057 15760 1a70 24290000 .4byte .LLST194 15761 1a74 20290000 .4byte .LVUS194 15762 1a78 0A .uleb128 0xa 15763 1a79 40050000 .4byte .Ldebug_ranges0+0x540 15764 1a7d 05 .uleb128 0x5 15765 1a7e CE130000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5070 15766 1a82 48290000 .4byte .LLST195 15767 1a86 42290000 .4byte .LVUS195 15768 1a8a 12 .uleb128 0x12 15769 1a8b 83160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5763 15770 1a8f 2C000000 .4byte .LBB490 15771 1a93 34000000 .4byte .LBE490 15772 1a97 0E .byte 0xe 15773 1a98 F603 .2byte 0x3f6 15774 1a9a 03 .byte 0x3 15775 1a9b AD1A0000 .4byte 0x1aad 15776 1a9f 07 .uleb128 0x7 15777 1aa0 95160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5781 15778 1aa4 74290000 .4byte .LLST196 15779 1aa8 72290000 .4byte .LVUS196 15780 1aac 00 .byte 0 15781 1aad 0D .uleb128 0xd 15782 1aae 38000000 .4byte .LVL318 15783 1ab2 6F000000 .4byte 0x6f 15784 1ab6 0E .uleb128 0xe 15785 1ab7 01 .byte 0x1 15786 1ab8 50 .byte 0x50 15787 1ab9 02 .byte 0x2 15788 1aba 70 .byte 0x70 15789 1abb 00 .sleb128 0 15790 1abc 00 .byte 0 15791 1abd 00 .byte 0 15792 1abe 00 .byte 0 15793 1abf 1E .uleb128 0x1e 15794 1ac0 46000000 .4byte .LVL321 15795 1ac4 01 .byte 0x1 15796 1ac5 CA1A0000 .4byte 0x1aca ARM GAS /tmp/ccJhhmLc.s page 754 15797 1ac9 00 .byte 0 15798 1aca 10 .uleb128 0x10 15799 1acb D3170000 .4byte usbd_conf.c.840d1894+6099 15800 1acf 2A .uleb128 0x2a 15801 1ad0 1F1C0000 .4byte usbd_conf.c.840d1894+7199 15802 1ad4 FE020000 .4byte .LASF6 15803 1ad8 00000000 .4byte .LFB80 15804 1adc CC030000 .4byte .LFE80 15805 1ae0 87290000 .4byte .LLST197 15806 1ae4 01 .byte 0x1 15807 1ae5 FD1E0000 .4byte 0x1efd 15808 1ae9 09 .uleb128 0x9 15809 1aea 321C0000 .4byte usbd_conf.c.840d1894+7218 15810 1aee 2C .uleb128 0x2c 15811 1aef 35140000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5173 15812 1af3 58050000 .4byte .Ldebug_ranges0+0x558 15813 1af7 0D .byte 0xd 15814 1af8 8D01 .2byte 0x18d 15815 1afa 09 .byte 0x9 15816 1afb 421E0000 .4byte 0x1e42 15817 1aff 09 .uleb128 0x9 15818 1b00 43140000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5187 15819 1b04 0A .uleb128 0xa 15820 1b05 58050000 .4byte .Ldebug_ranges0+0x558 15821 1b09 05 .uleb128 0x5 15822 1b0a 4F140000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5199 15823 1b0e CF290000 .4byte .LLST199 15824 1b12 CB290000 .4byte .LVUS199 15825 1b16 05 .uleb128 0x5 15826 1b17 5B140000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5211 15827 1b1b 012A0000 .4byte .LLST200 15828 1b1f F3290000 .4byte .LVUS200 15829 1b23 1C .uleb128 0x1c 15830 1b24 CC1D0000 .4byte usbd_conf.c.840d1894+7628 15831 1b28 3E000000 .4byte .LBB546 15832 1b2c BA000000 .4byte .LBE546 15833 1b30 0E .byte 0xe 15834 1b31 A8 .byte 0xa8 15835 1b32 05 .byte 0x5 15836 1b33 281C0000 .4byte 0x1c28 15837 1b37 09 .uleb128 0x9 15838 1b38 DA1D0000 .4byte usbd_conf.c.840d1894+7642 15839 1b3c 27 .uleb128 0x27 15840 1b3d E61D0000 .4byte usbd_conf.c.840d1894+7654 15841 1b41 48000000 .4byte .LBB548 15842 1b45 5C000000 .4byte .LBE548 15843 1b49 561B0000 .4byte 0x1b56 15844 1b4d 20 .uleb128 0x20 15845 1b4e E71D0000 .4byte usbd_conf.c.840d1894+7655 15846 1b52 02 .byte 0x2 15847 1b53 91 .byte 0x91 15848 1b54 54 .sleb128 -44 15849 1b55 00 .byte 0 15850 1b56 1C .uleb128 0x1c 15851 1b57 FF1D0000 .4byte usbd_conf.c.840d1894+7679 15852 1b5b 5C000000 .4byte .LBB549 15853 1b5f 64000000 .4byte .LBE549 ARM GAS /tmp/ccJhhmLc.s page 755 15854 1b63 0D .byte 0xd 15855 1b64 6A .byte 0x6a 15856 1b65 05 .byte 0x5 15857 1b66 851B0000 .4byte 0x1b85 15858 1b6a 07 .uleb128 0x7 15859 1b6b 0D1E0000 .4byte usbd_conf.c.840d1894+7693 15860 1b6f 5A2A0000 .4byte .LLST202 15861 1b73 582A0000 .4byte .LVUS202 15862 1b77 07 .uleb128 0x7 15863 1b78 1A1E0000 .4byte usbd_conf.c.840d1894+7706 15864 1b7c 712A0000 .4byte .LLST203 15865 1b80 6F2A0000 .4byte .LVUS203 15866 1b84 00 .byte 0 15867 1b85 1C .uleb128 0x1c 15868 1b86 441E0000 .4byte usbd_conf.c.840d1894+7748 15869 1b8a 64000000 .4byte .LBB551 15870 1b8e 68000000 .4byte .LBE551 15871 1b92 0D .byte 0xd 15872 1b93 6B .byte 0x6b 15873 1b94 05 .byte 0x5 15874 1b95 A71B0000 .4byte 0x1ba7 15875 1b99 07 .uleb128 0x7 15876 1b9a 521E0000 .4byte usbd_conf.c.840d1894+7762 15877 1b9e 872A0000 .4byte .LLST204 15878 1ba2 852A0000 .4byte .LVUS204 15879 1ba6 00 .byte 0 15880 1ba7 1D .uleb128 0x1d 15881 1ba8 F8100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4344 15882 1bac 78050000 .4byte .Ldebug_ranges0+0x578 15883 1bb0 0D .byte 0xd 15884 1bb1 72 .byte 0x72 15885 1bb2 03 .byte 0x3 15886 1bb3 E01B0000 .4byte 0x1be0 15887 1bb7 09 .uleb128 0x9 15888 1bb8 0B110000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4363 15889 1bbc 0A .uleb128 0xa 15890 1bbd 78050000 .4byte .Ldebug_ranges0+0x578 15891 1bc1 05 .uleb128 0x5 15892 1bc2 18110000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4376 15893 1bc6 9E2A0000 .4byte .LLST206 15894 1bca 9C2A0000 .4byte .LVUS206 15895 1bce 0D .uleb128 0xd 15896 1bcf 70000000 .4byte .LVL329 15897 1bd3 45000000 .4byte 0x45 15898 1bd7 0E .uleb128 0xe 15899 1bd8 01 .byte 0x1 15900 1bd9 50 .byte 0x50 15901 1bda 02 .byte 0x2 15902 1bdb 70 .byte 0x70 15903 1bdc 00 .sleb128 0 15904 1bdd 00 .byte 0 15905 1bde 00 .byte 0 15906 1bdf 00 .byte 0 15907 1be0 1C .uleb128 0x1c 15908 1be1 26110000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4390 15909 1be5 90000000 .4byte .LBB557 15910 1be9 BA000000 .4byte .LBE557 ARM GAS /tmp/ccJhhmLc.s page 756 15911 1bed 0D .byte 0xd 15912 1bee 74 .byte 0x74 15913 1bef 03 .byte 0x3 15914 1bf0 171C0000 .4byte 0x1c17 15915 1bf4 09 .uleb128 0x9 15916 1bf5 39110000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4409 15917 1bf9 05 .uleb128 0x5 15918 1bfa 46110000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4422 15919 1bfe B62A0000 .4byte .LLST208 15920 1c02 B42A0000 .4byte .LVUS208 15921 1c06 0D .uleb128 0xd 15922 1c07 B4000000 .4byte .LVL332 15923 1c0b 6F000000 .4byte 0x6f 15924 1c0f 0E .uleb128 0xe 15925 1c10 01 .byte 0x1 15926 1c11 50 .byte 0x50 15927 1c12 02 .byte 0x2 15928 1c13 70 .byte 0x70 15929 1c14 00 .sleb128 0 15930 1c15 00 .byte 0 15931 1c16 00 .byte 0 15932 1c17 0D .uleb128 0xd 15933 1c18 90000000 .4byte .LVL331 15934 1c1c FD1E0000 .4byte 0x1efd 15935 1c20 0E .uleb128 0xe 15936 1c21 01 .byte 0x1 15937 1c22 50 .byte 0x50 15938 1c23 02 .byte 0x2 15939 1c24 08 .byte 0x8 15940 1c25 32 .byte 0x32 15941 1c26 00 .byte 0 15942 1c27 00 .byte 0 15943 1c28 1C .uleb128 0x1c 15944 1c29 64160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5732 15945 1c2d CE000000 .4byte .LBB559 15946 1c31 D6000000 .4byte .LBE559 15947 1c35 0E .byte 0xe 15948 1c36 B5 .byte 0xb5 15949 1c37 03 .byte 0x3 15950 1c38 4A1C0000 .4byte 0x1c4a 15951 1c3c 07 .uleb128 0x7 15952 1c3d 76160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5750 15953 1c41 CE2A0000 .4byte .LLST209 15954 1c45 CC2A0000 .4byte .LVUS209 15955 1c49 00 .byte 0 15956 1c4a 1D .uleb128 0x1d 15957 1c4b E5160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5861 15958 1c4f 90050000 .4byte .Ldebug_ranges0+0x590 15959 1c53 0E .byte 0xe 15960 1c54 B8 .byte 0xb8 15961 1c55 07 .byte 0x7 15962 1c56 A41C0000 .4byte 0x1ca4 15963 1c5a 09 .uleb128 0x9 15964 1c5b FF160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5887 15965 1c5f 07 .uleb128 0x7 15966 1c60 F3160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5875 15967 1c64 E82A0000 .4byte .LLST210 ARM GAS /tmp/ccJhhmLc.s page 757 15968 1c68 E42A0000 .4byte .LVUS210 15969 1c6c 0A .uleb128 0xa 15970 1c6d 90050000 .4byte .Ldebug_ranges0+0x590 15971 1c71 05 .uleb128 0x5 15972 1c72 0B170000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5899 15973 1c76 102B0000 .4byte .LLST211 15974 1c7a 0C2B0000 .4byte .LVUS211 15975 1c7e 1F .uleb128 0x1f 15976 1c7f 10010000 .4byte .LVL337 15977 1c83 021F0000 .4byte 0x1f02 15978 1c87 921C0000 .4byte 0x1c92 15979 1c8b 0E .uleb128 0xe 15980 1c8c 01 .byte 0x1 15981 1c8d 50 .byte 0x50 15982 1c8e 02 .byte 0x2 15983 1c8f 75 .byte 0x75 15984 1c90 00 .sleb128 0 15985 1c91 00 .byte 0 15986 1c92 0D .uleb128 0xd 15987 1c93 68010000 .4byte .LVL350 15988 1c97 021F0000 .4byte 0x1f02 15989 1c9b 0E .uleb128 0xe 15990 1c9c 01 .byte 0x1 15991 1c9d 50 .byte 0x50 15992 1c9e 02 .byte 0x2 15993 1c9f 75 .byte 0x75 15994 1ca0 00 .sleb128 0 15995 1ca1 00 .byte 0 15996 1ca2 00 .byte 0 15997 1ca3 00 .byte 0 15998 1ca4 1D .uleb128 0x1d 15999 1ca5 2E160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5678 16000 1ca9 A8050000 .4byte .Ldebug_ranges0+0x5a8 16001 1cad 0E .byte 0xe 16002 1cae BF .byte 0xbf 16003 1caf 09 .byte 0x9 16004 1cb0 141D0000 .4byte 0x1d14 16005 1cb4 07 .uleb128 0x7 16006 1cb5 4C160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5708 16007 1cb9 322B0000 .4byte .LLST212 16008 1cbd 2E2B0000 .4byte .LVUS212 16009 1cc1 07 .uleb128 0x7 16010 1cc2 40160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5696 16011 1cc6 562B0000 .4byte .LLST213 16012 1cca 522B0000 .4byte .LVUS213 16013 1cce 0A .uleb128 0xa 16014 1ccf A8050000 .4byte .Ldebug_ranges0+0x5a8 16015 1cd3 05 .uleb128 0x5 16016 1cd4 58160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5720 16017 1cd8 842B0000 .4byte .LLST214 16018 1cdc 7A2B0000 .4byte .LVUS214 16019 1ce0 12 .uleb128 0x12 16020 1ce1 060F0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3846 16021 1ce5 A8010000 .4byte .LBB567 16022 1ce9 AA010000 .4byte .LBE567 16023 1ced 02 .byte 0x2 16024 1cee 1101 .2byte 0x111 ARM GAS /tmp/ccJhhmLc.s page 758 16025 1cf0 0F .byte 0xf 16026 1cf1 031D0000 .4byte 0x1d03 16027 1cf5 07 .uleb128 0x7 16028 1cf6 190F0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3865 16029 1cfa DA2B0000 .4byte .LLST215 16030 1cfe D82B0000 .4byte .LVUS215 16031 1d02 00 .byte 0 16032 1d03 0D .uleb128 0xd 16033 1d04 A8010000 .4byte .LVL353 16034 1d08 FD1E0000 .4byte 0x1efd 16035 1d0c 0E .uleb128 0xe 16036 1d0d 01 .byte 0x1 16037 1d0e 50 .byte 0x50 16038 1d0f 01 .byte 0x1 16039 1d10 31 .byte 0x31 16040 1d11 00 .byte 0 16041 1d12 00 .byte 0 16042 1d13 00 .byte 0 16043 1d14 1D .uleb128 0x1d 16044 1d15 DB150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5595 16045 1d19 C0050000 .4byte .Ldebug_ranges0+0x5c0 16046 1d1d 0E .byte 0xe 16047 1d1e DB .byte 0xdb 16048 1d1f 07 .byte 0x7 16049 1d20 301E0000 .4byte 0x1e30 16050 1d24 09 .uleb128 0x9 16051 1d25 FB150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5627 16052 1d29 07 .uleb128 0x7 16053 1d2a EE150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5614 16054 1d2e F42B0000 .4byte .LLST217 16055 1d32 F02B0000 .4byte .LVUS217 16056 1d36 0A .uleb128 0xa 16057 1d37 C0050000 .4byte .Ldebug_ranges0+0x5c0 16058 1d3b 05 .uleb128 0x5 16059 1d3c 08160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5640 16060 1d40 222C0000 .4byte .LLST218 16061 1d44 182C0000 .4byte .LVUS218 16062 1d48 05 .uleb128 0x5 16063 1d49 15160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5653 16064 1d4d F42B0000 .4byte .LLST217 16065 1d51 F02B0000 .4byte .LVUS217 16066 1d55 05 .uleb128 0x5 16067 1d56 22160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5666 16068 1d5a 852C0000 .4byte .LLST220 16069 1d5e 752C0000 .4byte .LVUS220 16070 1d62 12 .uleb128 0x12 16071 1d63 37150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5431 16072 1d67 3E020000 .4byte .LBB572 16073 1d6b 40020000 .4byte .LBE572 16074 1d6f 02 .byte 0x2 16075 1d70 6501 .2byte 0x165 16076 1d72 0D .byte 0xd 16077 1d73 871D0000 .4byte 0x1d87 16078 1d77 09 .uleb128 0x9 16079 1d78 4A150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5450 16080 1d7c 09 .uleb128 0x9 16081 1d7d 57150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5463 ARM GAS /tmp/ccJhhmLc.s page 759 16082 1d81 0B .uleb128 0xb 16083 1d82 64150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5476 16084 1d86 00 .byte 0 16085 1d87 2C .uleb128 0x2c 16086 1d88 37150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5431 16087 1d8c D8050000 .4byte .Ldebug_ranges0+0x5d8 16088 1d90 02 .byte 0x2 16089 1d91 7001 .2byte 0x170 16090 1d93 0B .byte 0xb 16091 1d94 C61D0000 .4byte 0x1dc6 16092 1d98 07 .uleb128 0x7 16093 1d99 4A150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5450 16094 1d9d EB2C0000 .4byte .LLST221 16095 1da1 E92C0000 .4byte .LVUS221 16096 1da5 07 .uleb128 0x7 16097 1da6 57150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5463 16098 1daa 032D0000 .4byte .LLST222 16099 1dae 012D0000 .4byte .LVUS222 16100 1db2 0A .uleb128 0xa 16101 1db3 D8050000 .4byte .Ldebug_ranges0+0x5d8 16102 1db7 05 .uleb128 0x5 16103 1db8 64150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5476 16104 1dbc EB2C0000 .4byte .LLST221 16105 1dc0 E92C0000 .4byte .LVUS221 16106 1dc4 00 .byte 0 16107 1dc5 00 .byte 0 16108 1dc6 12 .uleb128 0x12 16109 1dc7 37150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5431 16110 1dcb 4C030000 .4byte .LBB577 16111 1dcf 52030000 .4byte .LBE577 16112 1dd3 02 .byte 0x2 16113 1dd4 6A01 .2byte 0x16a 16114 1dd6 0D .byte 0xd 16115 1dd7 031E0000 .4byte 0x1e03 16116 1ddb 07 .uleb128 0x7 16117 1ddc 4A150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5450 16118 1de0 192D0000 .4byte .LLST224 16119 1de4 172D0000 .4byte .LVUS224 16120 1de8 07 .uleb128 0x7 16121 1de9 57150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5463 16122 1ded 312D0000 .4byte .LLST225 16123 1df1 2F2D0000 .4byte .LVUS225 16124 1df5 05 .uleb128 0x5 16125 1df6 64150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5476 16126 1dfa 192D0000 .4byte .LLST224 16127 1dfe 172D0000 .4byte .LVUS224 16128 1e02 00 .byte 0 16129 1e03 1F .uleb128 0x1f 16130 1e04 56020000 .4byte .LVL365 16131 1e08 071F0000 .4byte 0x1f07 16132 1e0c 1D1E0000 .4byte 0x1e1d 16133 1e10 0E .uleb128 0xe 16134 1e11 01 .byte 0x1 16135 1e12 50 .byte 0x50 16136 1e13 03 .byte 0x3 16137 1e14 44 .byte 0x44 16138 1e15 4A .byte 0x4a ARM GAS /tmp/ccJhhmLc.s page 760 16139 1e16 24 .byte 0x24 16140 1e17 0E .uleb128 0xe 16141 1e18 01 .byte 0x1 16142 1e19 51 .byte 0x51 16143 1e1a 01 .byte 0x1 16144 1e1b 40 .byte 0x40 16145 1e1c 00 .byte 0 16146 1e1d 0D .uleb128 0xd 16147 1e1e 60020000 .4byte .LVL367 16148 1e22 0C1F0000 .4byte 0x1f0c 16149 1e26 0E .uleb128 0xe 16150 1e27 01 .byte 0x1 16151 1e28 50 .byte 0x50 16152 1e29 03 .byte 0x3 16153 1e2a 44 .byte 0x44 16154 1e2b 4A .byte 0x4a 16155 1e2c 24 .byte 0x24 16156 1e2d 00 .byte 0 16157 1e2e 00 .byte 0 16158 1e2f 00 .byte 0 16159 1e30 0D .uleb128 0xd 16160 1e31 FC020000 .4byte .LVL373 16161 1e35 45000000 .4byte 0x45 16162 1e39 0E .uleb128 0xe 16163 1e3a 01 .byte 0x1 16164 1e3b 50 .byte 0x50 16165 1e3c 02 .byte 0x2 16166 1e3d 70 .byte 0x70 16167 1e3e 00 .sleb128 0 16168 1e3f 00 .byte 0 16169 1e40 00 .byte 0 16170 1e41 00 .byte 0 16171 1e42 12 .uleb128 0x12 16172 1e43 9F060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1695 16173 1e47 30010000 .4byte .LBB586 16174 1e4b 38010000 .4byte .LBE586 16175 1e4f 0D .byte 0xd 16176 1e50 9101 .2byte 0x191 16177 1e52 05 .byte 0x5 16178 1e53 6A1E0000 .4byte 0x1e6a 16179 1e57 09 .uleb128 0x9 16180 1e58 B1060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1713 16181 1e5c 07 .uleb128 0x7 16182 1e5d BD060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1725 16183 1e61 472D0000 .4byte .LLST228 16184 1e65 452D0000 .4byte .LVUS228 16185 1e69 00 .byte 0 16186 1e6a 12 .uleb128 0x12 16187 1e6b CA060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1738 16188 1e6f 38010000 .4byte .LBB588 16189 1e73 40010000 .4byte .LBE588 16190 1e77 0D .byte 0xd 16191 1e78 9201 .2byte 0x192 16192 1e7a 05 .byte 0x5 16193 1e7b B11E0000 .4byte 0x1eb1 16194 1e7f 09 .uleb128 0x9 16195 1e80 D8060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1752 ARM GAS /tmp/ccJhhmLc.s page 761 16196 1e84 07 .uleb128 0x7 16197 1e85 E4060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1764 16198 1e89 5E2D0000 .4byte .LLST230 16199 1e8d 5C2D0000 .4byte .LVUS230 16200 1e91 07 .uleb128 0x7 16201 1e92 F0060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1776 16202 1e96 742D0000 .4byte .LLST231 16203 1e9a 722D0000 .4byte .LVUS231 16204 1e9e 0B .uleb128 0xb 16205 1e9f FC060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1788 16206 1ea3 05 .uleb128 0x5 16207 1ea4 06070000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1798 16208 1ea8 8B2D0000 .4byte .LLST232 16209 1eac 892D0000 .4byte .LVUS232 16210 1eb0 00 .byte 0 16211 1eb1 24 .uleb128 0x24 16212 1eb2 CA060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1738 16213 1eb6 40010000 .4byte .LBB590 16214 1eba 50010000 .4byte .LBE590 16215 1ebe 0D .byte 0xd 16216 1ebf 9301 .2byte 0x193 16217 1ec1 05 .byte 0x5 16218 1ec2 09 .uleb128 0x9 16219 1ec3 D8060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1752 16220 1ec7 07 .uleb128 0x7 16221 1ec8 E4060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1764 16222 1ecc A02D0000 .4byte .LLST234 16223 1ed0 9E2D0000 .4byte .LVUS234 16224 1ed4 07 .uleb128 0x7 16225 1ed5 F0060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1776 16226 1ed9 B62D0000 .4byte .LLST235 16227 1edd B42D0000 .4byte .LVUS235 16228 1ee1 05 .uleb128 0x5 16229 1ee2 FC060000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1788 16230 1ee6 CD2D0000 .4byte .LLST236 16231 1eea CB2D0000 .4byte .LVUS236 16232 1eee 05 .uleb128 0x5 16233 1eef 06070000 .4byte stm32f4xx_hal_pcd_ex.c.a7035b39+1798 16234 1ef3 E72D0000 .4byte .LLST237 16235 1ef7 E12D0000 .4byte .LVUS237 16236 1efb 00 .byte 0 16237 1efc 00 .byte 0 16238 1efd 10 .uleb128 0x10 16239 1efe 52080000 .4byte stm32f4xx_hal.c.95118953+2130 16240 1f02 10 .uleb128 0x10 16241 1f03 560E0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3670 16242 1f07 10 .uleb128 0x10 16243 1f08 A0150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5536 16244 1f0c 10 .uleb128 0x10 16245 1f0d 72150000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5490 16246 1f11 2A .uleb128 0x2a 16247 1f12 86030000 .4byte stm32f4xx_hal_flash.c.19490800+902 16248 1f16 15010000 .4byte .LASF7 16249 1f1a 00000000 .4byte .LFB110 16250 1f1e BC000000 .4byte .LFE110 16251 1f22 172E0000 .4byte .LLST238 16252 1f26 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 762 16253 1f27 911F0000 .4byte 0x1f91 16254 1f2b 05 .uleb128 0x5 16255 1f2c A6030000 .4byte stm32f4xx_hal_flash.c.19490800+934 16256 1f30 3D2E0000 .4byte .LLST239 16257 1f34 372E0000 .4byte .LVUS239 16258 1f38 11 .uleb128 0x11 16259 1f39 99030000 .4byte stm32f4xx_hal_flash.c.19490800+921 16260 1f3d 50C3 .2byte 0xc350 16261 1f3f 2C .uleb128 0x2c 16262 1f40 37050000 .4byte stm32_hal.cpp.4653489c+1335 16263 1f44 F0050000 .4byte .Ldebug_ranges0+0x5f0 16264 1f48 11 .byte 0x11 16265 1f49 3302 .2byte 0x233 16266 1f4b 0F .byte 0xf 16267 1f4c 5D1F0000 .4byte 0x1f5d 16268 1f50 2D .uleb128 0x2d 16269 1f51 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 16270 1f55 F0050000 .4byte .Ldebug_ranges0+0x5f0 16271 1f59 0B .byte 0xb 16272 1f5a 1B .byte 0x1b 16273 1f5b 1B .byte 0x1b 16274 1f5c 00 .byte 0 16275 1f5d 2E .uleb128 0x2e 16276 1f5e D8020000 .4byte stm32f4xx_hal_flash.c.19490800+728 16277 1f62 2A000000 .4byte .LBB609 16278 1f66 9E000000 .4byte .LBE609 16279 1f6a 11 .byte 0x11 16280 1f6b 4F02 .2byte 0x24f 16281 1f6d 05 .byte 0x5 16282 1f6e 24 .uleb128 0x24 16283 1f6f 37050000 .4byte stm32_hal.cpp.4653489c+1335 16284 1f73 A2000000 .4byte .LBB611 16285 1f77 A4000000 .4byte .LBE611 16286 1f7b 11 .byte 0x11 16287 1f7c 3902 .2byte 0x239 16288 1f7e 1D .byte 0x1d 16289 1f7f 13 .uleb128 0x13 16290 1f80 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 16291 1f84 A2000000 .4byte .LBB612 16292 1f88 A4000000 .4byte .LBE612 16293 1f8c 0B .byte 0xb 16294 1f8d 1B .byte 0x1b 16295 1f8e 1B .byte 0x1b 16296 1f8f 00 .byte 0 16297 1f90 00 .byte 0 16298 1f91 2F .uleb128 0x2f 16299 1f92 8F0D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3471 16300 1f96 A0030000 .4byte .LASF8 16301 1f9a 00000000 .4byte .LFB114 16302 1f9e 1A000000 .4byte .LFE114 16303 1fa2 02 .byte 0x2 16304 1fa3 7D .byte 0x7d 16305 1fa4 00 .sleb128 0 16306 1fa5 01 .byte 0x1 16307 1fa6 C61F0000 .4byte 0x1fc6 16308 1faa 04 .uleb128 0x4 16309 1fab A20D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3490 ARM GAS /tmp/ccJhhmLc.s page 763 16310 1faf 01 .byte 0x1 16311 1fb0 50 .byte 0x50 16312 1fb1 04 .uleb128 0x4 16313 1fb2 AF0D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3503 16314 1fb6 01 .byte 0x1 16315 1fb7 51 .byte 0x51 16316 1fb8 05 .uleb128 0x5 16317 1fb9 BC0D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3516 16318 1fbd 6B2E0000 .4byte .LLST240 16319 1fc1 672E0000 .4byte .LVUS240 16320 1fc5 00 .byte 0 16321 1fc6 06 .uleb128 0x6 16322 1fc7 191A0000 .4byte diskio_sdio.cpp.13d9822e+6681 16323 1fcb 00000000 .4byte .LFB115 16324 1fcf 5C010000 .4byte .LFE115 16325 1fd3 952E0000 .4byte .LLST241 16326 1fd7 01 .byte 0x1 16327 1fd8 FA210000 .4byte 0x21fa 16328 1fdc 07 .uleb128 0x7 16329 1fdd 2A1A0000 .4byte diskio_sdio.cpp.13d9822e+6698 16330 1fe1 E72E0000 .4byte .LLST242 16331 1fe5 DB2E0000 .4byte .LVUS242 16332 1fe9 07 .uleb128 0x7 16333 1fea 371A0000 .4byte diskio_sdio.cpp.13d9822e+6711 16334 1fee 4F2F0000 .4byte .LLST243 16335 1ff2 432F0000 .4byte .LVUS243 16336 1ff6 07 .uleb128 0x7 16337 1ff7 441A0000 .4byte diskio_sdio.cpp.13d9822e+6724 16338 1ffb AF2F0000 .4byte .LLST244 16339 1fff AB2F0000 .4byte .LVUS244 16340 2003 05 .uleb128 0x5 16341 2004 511A0000 .4byte diskio_sdio.cpp.13d9822e+6737 16342 2008 CF2F0000 .4byte .LLST245 16343 200c CD2F0000 .4byte .LVUS245 16344 2010 18 .uleb128 0x18 16345 2011 BF170000 .4byte stm32f4xx_hal_sd.c.13956b56+6079 16346 2015 12000000 .4byte .LBI630 16347 2019 0100 .2byte .LVU2057 16348 201b 08060000 .4byte .Ldebug_ranges0+0x608 16349 201f 04 .byte 0x4 16350 2020 9D01 .2byte 0x19d 16351 2022 1C .byte 0x1c 16352 2023 99210000 .4byte 0x2199 16353 2027 09 .uleb128 0x9 16354 2028 D2170000 .4byte stm32f4xx_hal_sd.c.13956b56+6098 16355 202c 07 .uleb128 0x7 16356 202d DF170000 .4byte stm32f4xx_hal_sd.c.13956b56+6111 16357 2031 EE2F0000 .4byte .LLST247 16358 2035 E22F0000 .4byte .LVUS247 16359 2039 07 .uleb128 0x7 16360 203a EC170000 .4byte stm32f4xx_hal_sd.c.13956b56+6124 16361 203e 56300000 .4byte .LLST248 16362 2042 4A300000 .4byte .LVUS248 16363 2046 07 .uleb128 0x7 16364 2047 F9170000 .4byte stm32f4xx_hal_sd.c.13956b56+6137 16365 204b B1300000 .4byte .LLST249 16366 204f A9300000 .4byte .LVUS249 ARM GAS /tmp/ccJhhmLc.s page 764 16367 2053 0A .uleb128 0xa 16368 2054 08060000 .4byte .Ldebug_ranges0+0x608 16369 2058 0B .uleb128 0xb 16370 2059 06180000 .4byte stm32f4xx_hal_sd.c.13956b56+6150 16371 205d 05 .uleb128 0x5 16372 205e 13180000 .4byte stm32f4xx_hal_sd.c.13956b56+6163 16373 2062 E7300000 .4byte .LLST250 16374 2066 E5300000 .4byte .LVUS250 16375 206a 05 .uleb128 0x5 16376 206b 20180000 .4byte stm32f4xx_hal_sd.c.13956b56+6176 16377 206f 06310000 .4byte .LLST251 16378 2073 FA300000 .4byte .LVUS251 16379 2077 18 .uleb128 0x18 16380 2078 F20C0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3314 16381 207c C4000000 .4byte .LBI632 16382 2080 0000 .2byte .LVU2102 16383 2082 20060000 .4byte .Ldebug_ranges0+0x620 16384 2086 06 .byte 0x6 16385 2087 D304 .2byte 0x4d3 16386 2089 0D .byte 0xd 16387 208a B5200000 .4byte 0x20b5 16388 208e 07 .uleb128 0x7 16389 208f 050D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3333 16390 2093 71310000 .4byte .LLST252 16391 2097 6F310000 .4byte .LVUS252 16392 209b 07 .uleb128 0x7 16393 209c 120D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3346 16394 20a0 86310000 .4byte .LLST253 16395 20a4 84310000 .4byte .LVUS253 16396 20a8 0A .uleb128 0xa 16397 20a9 20060000 .4byte .Ldebug_ranges0+0x620 16398 20ad 2B .uleb128 0x2b 16399 20ae 1F0D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3359 16400 20b2 93 .byte 0x93 16401 20b3 00 .byte 0 16402 20b4 00 .byte 0 16403 20b5 18 .uleb128 0x18 16404 20b6 AA0B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2986 16405 20ba D6000000 .4byte .LBI638 16406 20be 0000 .2byte .LVU2110 16407 20c0 40060000 .4byte .Ldebug_ranges0+0x640 16408 20c4 06 .byte 0x6 16409 20c5 DB04 .2byte 0x4db 16410 20c7 16 .byte 0x16 16411 20c8 FC200000 .4byte 0x20fc 16412 20cc 07 .uleb128 0x7 16413 20cd BD0B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3005 16414 20d1 A0310000 .4byte .LLST254 16415 20d5 9E310000 .4byte .LVUS254 16416 20d9 07 .uleb128 0x7 16417 20da CA0B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3018 16418 20de B7310000 .4byte .LLST255 16419 20e2 B3310000 .4byte .LVUS255 16420 20e6 0A .uleb128 0xa 16421 20e7 40060000 .4byte .Ldebug_ranges0+0x640 16422 20eb 20 .uleb128 0x20 16423 20ec D70B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3031 ARM GAS /tmp/ccJhhmLc.s page 765 16424 20f0 02 .byte 0x2 16425 20f1 91 .byte 0x91 16426 20f2 44 .sleb128 -60 16427 20f3 20 .uleb128 0x20 16428 20f4 E40B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3044 16429 20f8 01 .byte 0x1 16430 20f9 50 .byte 0x50 16431 20fa 00 .byte 0 16432 20fb 00 .byte 0 16433 20fc 16 .uleb128 0x16 16434 20fd F20B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3058 16435 2101 DE000000 .4byte .LBI642 16436 2105 0100 .2byte .LVU2119 16437 2107 DE000000 .4byte .LBB642 16438 210b FE000000 .4byte .LBE642 16439 210f 06 .byte 0x6 16440 2110 E204 .2byte 0x4e2 16441 2112 16 .byte 0x16 16442 2113 7E210000 .4byte 0x217e 16443 2117 07 .uleb128 0x7 16444 2118 050C0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3077 16445 211c F6310000 .4byte .LLST256 16446 2120 F4310000 .4byte .LVUS256 16447 2124 07 .uleb128 0x7 16448 2125 120C0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3090 16449 2129 0B320000 .4byte .LLST257 16450 212d 09320000 .4byte .LVUS257 16451 2131 20 .uleb128 0x20 16452 2132 1F0C0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3103 16453 2136 02 .byte 0x2 16454 2137 91 .byte 0x91 16455 2138 44 .sleb128 -60 16456 2139 05 .uleb128 0x5 16457 213a 2C0C0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3116 16458 213e 20320000 .4byte .LLST258 16459 2142 1E320000 .4byte .LVUS258 16460 2146 1F .uleb128 0x1f 16461 2147 F4000000 .4byte .LVL411 16462 214b 911F0000 .4byte 0x1f91 16463 214f 60210000 .4byte 0x2160 16464 2153 0E .uleb128 0xe 16465 2154 01 .byte 0x1 16466 2155 50 .byte 0x50 16467 2156 02 .byte 0x2 16468 2157 75 .byte 0x75 16469 2158 00 .sleb128 0 16470 2159 0E .uleb128 0xe 16471 215a 01 .byte 0x1 16472 215b 51 .byte 0x51 16473 215c 02 .byte 0x2 16474 215d 71 .byte 0x71 16475 215e 00 .sleb128 0 16476 215f 00 .byte 0 16477 2160 0D .uleb128 0xd 16478 2161 FE000000 .4byte .LVL412 16479 2165 FF210000 .4byte 0x21ff 16480 2169 0E .uleb128 0xe ARM GAS /tmp/ccJhhmLc.s page 766 16481 216a 01 .byte 0x1 16482 216b 50 .byte 0x50 16483 216c 02 .byte 0x2 16484 216d 75 .byte 0x75 16485 216e 00 .sleb128 0 16486 216f 0E .uleb128 0xe 16487 2170 01 .byte 0x1 16488 2171 51 .byte 0x51 16489 2172 02 .byte 0x2 16490 2173 76 .byte 0x76 16491 2174 00 .sleb128 0 16492 2175 0E .uleb128 0xe 16493 2176 01 .byte 0x1 16494 2177 52 .byte 0x52 16495 2178 03 .byte 0x3 16496 2179 0A .byte 0xa 16497 217a 8813 .2byte 0x1388 16498 217c 00 .byte 0 16499 217d 00 .byte 0 16500 217e 0D .uleb128 0xd 16501 217f 88000000 .4byte .LVL402 16502 2183 FA210000 .4byte 0x21fa 16503 2187 0E .uleb128 0xe 16504 2188 01 .byte 0x1 16505 2189 51 .byte 0x51 16506 218a 03 .byte 0x3 16507 218b 75 .byte 0x75 16508 218c 8001 .sleb128 128 16509 218e 0E .uleb128 0xe 16510 218f 01 .byte 0x1 16511 2190 53 .byte 0x53 16512 2191 04 .byte 0x4 16513 2192 7A .byte 0x7a 16514 2193 00 .sleb128 0 16515 2194 32 .byte 0x32 16516 2195 25 .byte 0x25 16517 2196 00 .byte 0 16518 2197 00 .byte 0 16519 2198 00 .byte 0 16520 2199 16 .uleb128 0x16 16521 219a 37050000 .4byte stm32_hal.cpp.4653489c+1335 16522 219e 16010000 .4byte .LBI646 16523 21a2 0200 .2byte .LVU2149 16524 21a4 16010000 .4byte .LBB646 16525 21a8 1A010000 .4byte .LBE646 16526 21ac 04 .byte 0x4 16527 21ad A301 .2byte 0x1a3 16528 21af 21 .byte 0x21 16529 21b0 CB210000 .4byte 0x21cb 16530 21b4 29 .uleb128 0x29 16531 21b5 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 16532 21b9 16010000 .4byte .LBI647 16533 21bd 0400 .2byte .LVU2151 16534 21bf 16010000 .4byte .LBB647 16535 21c3 1A010000 .4byte .LBE647 16536 21c7 0B .byte 0xb 16537 21c8 1B .byte 0x1b ARM GAS /tmp/ccJhhmLc.s page 767 16538 21c9 1B .byte 0x1b 16539 21ca 00 .byte 0 16540 21cb 17 .uleb128 0x17 16541 21cc 37050000 .4byte stm32_hal.cpp.4653489c+1335 16542 21d0 1E010000 .4byte .LBI649 16543 21d4 0000 .2byte .LVU2159 16544 21d6 1E010000 .4byte .LBB649 16545 21da 20010000 .4byte .LBE649 16546 21de 04 .byte 0x4 16547 21df A401 .2byte 0x1a4 16548 21e1 2B .byte 0x2b 16549 21e2 29 .uleb128 0x29 16550 21e3 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 16551 21e7 1E010000 .4byte .LBI650 16552 21eb 0200 .2byte .LVU2161 16553 21ed 1E010000 .4byte .LBB650 16554 21f1 20010000 .4byte .LBE650 16555 21f5 0B .byte 0xb 16556 21f6 1B .byte 0x1b 16557 21f7 1B .byte 0x1b 16558 21f8 00 .byte 0 16559 21f9 00 .byte 0 16560 21fa 10 .uleb128 0x10 16561 21fb 4E070000 .4byte stm32f4xx_hal_dma.c.29f76e30+1870 16562 21ff 10 .uleb128 0x10 16563 2200 47050000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+1351 16564 2204 06 .uleb128 0x6 16565 2205 B7190000 .4byte diskio_sdio.cpp.13d9822e+6583 16566 2209 00000000 .4byte .LFB123 16567 220d 84000000 .4byte .LFE123 16568 2211 33320000 .4byte .LLST259 16569 2215 01 .byte 0x1 16570 2216 0C230000 .4byte 0x230c 16571 221a 07 .uleb128 0x7 16572 221b C8190000 .4byte diskio_sdio.cpp.13d9822e+6600 16573 221f 57320000 .4byte .LLST260 16574 2223 53320000 .4byte .LVUS260 16575 2227 07 .uleb128 0x7 16576 2228 D5190000 .4byte diskio_sdio.cpp.13d9822e+6613 16577 222c 8E320000 .4byte .LLST261 16578 2230 7E320000 .4byte .LVUS261 16579 2234 07 .uleb128 0x7 16580 2235 E2190000 .4byte diskio_sdio.cpp.13d9822e+6626 16581 2239 19330000 .4byte .LLST262 16582 223d 15330000 .4byte .LVUS262 16583 2241 07 .uleb128 0x7 16584 2242 EF190000 .4byte diskio_sdio.cpp.13d9822e+6639 16585 2246 43330000 .4byte .LLST263 16586 224a 37330000 .4byte .LVUS263 16587 224e 05 .uleb128 0x5 16588 224f FC190000 .4byte diskio_sdio.cpp.13d9822e+6652 16589 2253 AB330000 .4byte .LLST264 16590 2257 9F330000 .4byte .LVUS264 16591 225b 27 .uleb128 0x27 16592 225c 091A0000 .4byte diskio_sdio.cpp.13d9822e+6665 16593 2260 46000000 .4byte .LBB654 16594 2264 64000000 .4byte .LBE654 ARM GAS /tmp/ccJhhmLc.s page 768 16595 2268 C1220000 .4byte 0x22c1 16596 226c 05 .uleb128 0x5 16597 226d 0A1A0000 .4byte diskio_sdio.cpp.13d9822e+6666 16598 2271 FB330000 .4byte .LLST265 16599 2275 F9330000 .4byte .LVUS265 16600 2279 1F .uleb128 0x1f 16601 227a 50000000 .4byte .LVL424 16602 227e C61F0000 .4byte 0x1fc6 16603 2282 9B220000 .4byte 0x229b 16604 2286 0E .uleb128 0xe 16605 2287 01 .byte 0x1 16606 2288 50 .byte 0x50 16607 2289 05 .byte 0x5 16608 228a 03 .byte 0x3 16609 228b 00000000 .4byte _ZL7scratch 16610 228f 0E .uleb128 0xe 16611 2290 01 .byte 0x1 16612 2291 51 .byte 0x51 16613 2292 02 .byte 0x2 16614 2293 74 .byte 0x74 16615 2294 00 .sleb128 0 16616 2295 0E .uleb128 0xe 16617 2296 01 .byte 0x1 16618 2297 52 .byte 0x52 16619 2298 01 .byte 0x1 16620 2299 31 .byte 0x31 16621 229a 00 .byte 0 16622 229b 0D .uleb128 0xd 16623 229c 62000000 .4byte .LVL426 16624 22a0 DB370000 .4byte 0x37db 16625 22a4 0E .uleb128 0xe 16626 22a5 01 .byte 0x1 16627 22a6 50 .byte 0x50 16628 22a7 07 .byte 0x7 16629 22a8 74 .byte 0x74 16630 22a9 00 .sleb128 0 16631 22aa 39 .byte 0x39 16632 22ab 24 .byte 0x24 16633 22ac 75 .byte 0x75 16634 22ad 00 .sleb128 0 16635 22ae 22 .byte 0x22 16636 22af 0E .uleb128 0xe 16637 22b0 01 .byte 0x1 16638 22b1 51 .byte 0x51 16639 22b2 05 .byte 0x5 16640 22b3 03 .byte 0x3 16641 22b4 00000000 .4byte _ZL7scratch 16642 22b8 0E .uleb128 0xe 16643 22b9 01 .byte 0x1 16644 22ba 52 .byte 0x52 16645 22bb 03 .byte 0x3 16646 22bc 0A .byte 0xa 16647 22bd 0002 .2byte 0x200 16648 22bf 00 .byte 0 16649 22c0 00 .byte 0 16650 22c1 1F .uleb128 0x1f 16651 22c2 0C000000 .4byte .LVL418 ARM GAS /tmp/ccJhhmLc.s page 769 16652 22c6 39020000 .4byte 0x239 16653 22ca D8220000 .4byte 0x22d8 16654 22ce 1A .uleb128 0x1a 16655 22cf 98040000 .4byte 0x498 16656 22d3 03 .byte 0x3 16657 22d4 0A .byte 0xa 16658 22d5 2C01 .2byte 0x12c 16659 22d7 00 .byte 0 16660 22d8 1F .uleb128 0x1f 16661 22d9 36000000 .4byte .LVL421 16662 22dd C61F0000 .4byte 0x1fc6 16663 22e1 F8220000 .4byte 0x22f8 16664 22e5 0E .uleb128 0xe 16665 22e6 01 .byte 0x1 16666 22e7 50 .byte 0x50 16667 22e8 02 .byte 0x2 16668 22e9 75 .byte 0x75 16669 22ea 00 .sleb128 0 16670 22eb 0E .uleb128 0xe 16671 22ec 01 .byte 0x1 16672 22ed 51 .byte 0x51 16673 22ee 02 .byte 0x2 16674 22ef 74 .byte 0x74 16675 22f0 00 .sleb128 0 16676 22f1 0E .uleb128 0xe 16677 22f2 01 .byte 0x1 16678 22f3 52 .byte 0x52 16679 22f4 02 .byte 0x2 16680 22f5 76 .byte 0x76 16681 22f6 00 .sleb128 0 16682 22f7 00 .byte 0 16683 22f8 0D .uleb128 0xd 16684 22f9 3E000000 .4byte .LVL422 16685 22fd 39020000 .4byte 0x239 16686 2301 1A .uleb128 0x1a 16687 2302 98040000 .4byte 0x498 16688 2306 03 .byte 0x3 16689 2307 0A .byte 0xa 16690 2308 2C01 .2byte 0x12c 16691 230a 00 .byte 0 16692 230b 00 .byte 0 16693 230c 06 .uleb128 0x6 16694 230d 71190000 .4byte diskio_sdio.cpp.13d9822e+6513 16695 2311 00000000 .4byte .LFB124 16696 2315 6C010000 .4byte .LFE124 16697 2319 0F340000 .4byte .LLST266 16698 231d 01 .byte 0x1 16699 231e 4D250000 .4byte 0x254d 16700 2322 07 .uleb128 0x7 16701 2323 82190000 .4byte diskio_sdio.cpp.13d9822e+6530 16702 2327 5D340000 .4byte .LLST267 16703 232b 55340000 .4byte .LVUS267 16704 232f 07 .uleb128 0x7 16705 2330 8F190000 .4byte diskio_sdio.cpp.13d9822e+6543 16706 2334 99340000 .4byte .LLST268 16707 2338 91340000 .4byte .LVUS268 16708 233c 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 770 16709 233d 9C190000 .4byte diskio_sdio.cpp.13d9822e+6556 16710 2341 E9340000 .4byte .LLST269 16711 2345 DF340000 .4byte .LVUS269 16712 2349 05 .uleb128 0x5 16713 234a A9190000 .4byte diskio_sdio.cpp.13d9822e+6569 16714 234e 3C350000 .4byte .LLST270 16715 2352 3A350000 .4byte .LVUS270 16716 2356 18 .uleb128 0x18 16717 2357 50170000 .4byte stm32f4xx_hal_sd.c.13956b56+5968 16718 235b 16000000 .4byte .LBI672 16719 235f 0100 .2byte .LVU2223 16720 2361 58060000 .4byte .Ldebug_ranges0+0x658 16721 2365 04 .byte 0x4 16722 2366 DC01 .2byte 0x1dc 16723 2368 1D .byte 0x1d 16724 2369 F4240000 .4byte 0x24f4 16725 236d 09 .uleb128 0x9 16726 236e 63170000 .4byte stm32f4xx_hal_sd.c.13956b56+5987 16727 2372 07 .uleb128 0x7 16728 2373 70170000 .4byte stm32f4xx_hal_sd.c.13956b56+6000 16729 2377 5B350000 .4byte .LLST272 16730 237b 4F350000 .4byte .LVUS272 16731 237f 07 .uleb128 0x7 16732 2380 7D170000 .4byte stm32f4xx_hal_sd.c.13956b56+6013 16733 2384 AF350000 .4byte .LLST273 16734 2388 A5350000 .4byte .LVUS273 16735 238c 07 .uleb128 0x7 16736 238d 8A170000 .4byte stm32f4xx_hal_sd.c.13956b56+6026 16737 2391 13360000 .4byte .LLST274 16738 2395 09360000 .4byte .LVUS274 16739 2399 0A .uleb128 0xa 16740 239a 58060000 .4byte .Ldebug_ranges0+0x658 16741 239e 0B .uleb128 0xb 16742 239f 97170000 .4byte stm32f4xx_hal_sd.c.13956b56+6039 16743 23a3 05 .uleb128 0x5 16744 23a4 A4170000 .4byte stm32f4xx_hal_sd.c.13956b56+6052 16745 23a8 6C360000 .4byte .LLST275 16746 23ac 64360000 .4byte .LVUS275 16747 23b0 05 .uleb128 0x5 16748 23b1 B1170000 .4byte stm32f4xx_hal_sd.c.13956b56+6065 16749 23b5 A6360000 .4byte .LLST276 16750 23b9 A0360000 .4byte .LVUS276 16751 23bd 18 .uleb128 0x18 16752 23be 1A0B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2842 16753 23c2 80000000 .4byte .LBI674 16754 23c6 0000 .2byte .LVU2255 16755 23c8 80060000 .4byte .Ldebug_ranges0+0x680 16756 23cc 06 .byte 0x6 16757 23cd 3A05 .2byte 0x53a 16758 23cf 14 .byte 0x14 16759 23d0 04240000 .4byte 0x2404 16760 23d4 07 .uleb128 0x7 16761 23d5 2D0B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2861 16762 23d9 F0360000 .4byte .LLST277 16763 23dd EE360000 .4byte .LVUS277 16764 23e1 07 .uleb128 0x7 16765 23e2 3A0B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2874 ARM GAS /tmp/ccJhhmLc.s page 771 16766 23e6 07370000 .4byte .LLST278 16767 23ea 03370000 .4byte .LVUS278 16768 23ee 0A .uleb128 0xa 16769 23ef 80060000 .4byte .Ldebug_ranges0+0x680 16770 23f3 20 .uleb128 0x20 16771 23f4 470B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2887 16772 23f8 02 .byte 0x2 16773 23f9 91 .byte 0x91 16774 23fa 44 .sleb128 -60 16775 23fb 20 .uleb128 0x20 16776 23fc 540B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2900 16777 2400 01 .byte 0x1 16778 2401 57 .byte 0x57 16779 2402 00 .byte 0 16780 2403 00 .byte 0 16781 2404 18 .uleb128 0x18 16782 2405 620B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2914 16783 2409 84000000 .4byte .LBI677 16784 240d 0000 .2byte .LVU2262 16785 240f 98060000 .4byte .Ldebug_ranges0+0x698 16786 2413 06 .byte 0x6 16787 2414 4105 .2byte 0x541 16788 2416 14 .byte 0x14 16789 2417 88240000 .4byte 0x2488 16790 241b 07 .uleb128 0x7 16791 241c 750B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2933 16792 2420 46370000 .4byte .LLST279 16793 2424 44370000 .4byte .LVUS279 16794 2428 07 .uleb128 0x7 16795 2429 820B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2946 16796 242d 5D370000 .4byte .LLST280 16797 2431 59370000 .4byte .LVUS280 16798 2435 0A .uleb128 0xa 16799 2436 98060000 .4byte .Ldebug_ranges0+0x698 16800 243a 20 .uleb128 0x20 16801 243b 8F0B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2959 16802 243f 02 .byte 0x2 16803 2440 91 .byte 0x91 16804 2441 44 .sleb128 -60 16805 2442 05 .uleb128 0x5 16806 2443 9C0B0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+2972 16807 2447 9C370000 .4byte .LLST281 16808 244b 9A370000 .4byte .LVUS281 16809 244f 1F .uleb128 0x1f 16810 2450 94000000 .4byte .LVL442 16811 2454 911F0000 .4byte 0x1f91 16812 2458 69240000 .4byte 0x2469 16813 245c 0E .uleb128 0xe 16814 245d 01 .byte 0x1 16815 245e 50 .byte 0x50 16816 245f 02 .byte 0x2 16817 2460 75 .byte 0x75 16818 2461 00 .sleb128 0 16819 2462 0E .uleb128 0xe 16820 2463 01 .byte 0x1 16821 2464 51 .byte 0x51 16822 2465 02 .byte 0x2 ARM GAS /tmp/ccJhhmLc.s page 772 16823 2466 71 .byte 0x71 16824 2467 00 .sleb128 0 16825 2468 00 .byte 0 16826 2469 0D .uleb128 0xd 16827 246a 9E000000 .4byte .LVL443 16828 246e FF210000 .4byte 0x21ff 16829 2472 0E .uleb128 0xe 16830 2473 01 .byte 0x1 16831 2474 50 .byte 0x50 16832 2475 02 .byte 0x2 16833 2476 75 .byte 0x75 16834 2477 00 .sleb128 0 16835 2478 0E .uleb128 0xe 16836 2479 01 .byte 0x1 16837 247a 51 .byte 0x51 16838 247b 02 .byte 0x2 16839 247c 77 .byte 0x77 16840 247d 00 .sleb128 0 16841 247e 0E .uleb128 0xe 16842 247f 01 .byte 0x1 16843 2480 52 .byte 0x52 16844 2481 03 .byte 0x3 16845 2482 0A .byte 0xa 16846 2483 8813 .2byte 0x1388 16847 2485 00 .byte 0 16848 2486 00 .byte 0 16849 2487 00 .byte 0 16850 2488 18 .uleb128 0x18 16851 2489 F20C0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3314 16852 248d 0A010000 .4byte .LBI682 16853 2491 0000 .2byte .LVU2306 16854 2493 B0060000 .4byte .Ldebug_ranges0+0x6b0 16855 2497 06 .byte 0x6 16856 2498 6B05 .2byte 0x56b 16857 249a 0D .byte 0xd 16858 249b CD240000 .4byte 0x24cd 16859 249f 07 .uleb128 0x7 16860 24a0 050D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3333 16861 24a4 B1370000 .4byte .LLST282 16862 24a8 AF370000 .4byte .LVUS282 16863 24ac 07 .uleb128 0x7 16864 24ad 120D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3346 16865 24b1 C6370000 .4byte .LLST283 16866 24b5 C4370000 .4byte .LVUS283 16867 24b9 0A .uleb128 0xa 16868 24ba B0060000 .4byte .Ldebug_ranges0+0x6b0 16869 24be 05 .uleb128 0x5 16870 24bf 1F0D0000 .4byte stm32f4xx_ll_sdmmc.c.b4eff6b9+3359 16871 24c3 E2370000 .4byte .LLST284 16872 24c7 DE370000 .4byte .LVUS284 16873 24cb 00 .byte 0 16874 24cc 00 .byte 0 16875 24cd 0D .uleb128 0xd 16876 24ce E8000000 .4byte .LVL449 16877 24d2 FA210000 .4byte 0x21fa 16878 24d6 0E .uleb128 0xe 16879 24d7 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 773 16880 24d8 50 .byte 0x50 16881 24d9 02 .byte 0x2 16882 24da 79 .byte 0x79 16883 24db 00 .sleb128 0 16884 24dc 0E .uleb128 0xe 16885 24dd 01 .byte 0x1 16886 24de 51 .byte 0x51 16887 24df 02 .byte 0x2 16888 24e0 7A .byte 0x7a 16889 24e1 00 .sleb128 0 16890 24e2 0E .uleb128 0xe 16891 24e3 01 .byte 0x1 16892 24e4 52 .byte 0x52 16893 24e5 03 .byte 0x3 16894 24e6 75 .byte 0x75 16895 24e7 8001 .sleb128 128 16896 24e9 0E .uleb128 0xe 16897 24ea 01 .byte 0x1 16898 24eb 53 .byte 0x53 16899 24ec 04 .byte 0x4 16900 24ed 76 .byte 0x76 16901 24ee 00 .sleb128 0 16902 24ef 32 .byte 0x32 16903 24f0 25 .byte 0x25 16904 24f1 00 .byte 0 16905 24f2 00 .byte 0 16906 24f3 00 .byte 0 16907 24f4 18 .uleb128 0x18 16908 24f5 37050000 .4byte stm32_hal.cpp.4653489c+1335 16909 24f9 20010000 .4byte .LBI691 16910 24fd 0200 .2byte .LVU2314 16911 24ff C8060000 .4byte .Ldebug_ranges0+0x6c8 16912 2503 04 .byte 0x4 16913 2504 E201 .2byte 0x1e2 16914 2506 21 .byte 0x21 16915 2507 1E250000 .4byte 0x251e 16916 250b 26 .uleb128 0x26 16917 250c C70D0000 .4byte timers_driver.cpp.9287e71d+3527 16918 2510 20010000 .4byte .LBI692 16919 2514 0400 .2byte .LVU2316 16920 2516 C8060000 .4byte .Ldebug_ranges0+0x6c8 16921 251a 0B .byte 0xb 16922 251b 1B .byte 0x1b 16923 251c 1B .byte 0x1b 16924 251d 00 .byte 0 16925 251e 17 .uleb128 0x17 16926 251f 37050000 .4byte stm32_hal.cpp.4653489c+1335 16927 2523 28010000 .4byte .LBI698 16928 2527 0000 .2byte .LVU2324 16929 2529 28010000 .4byte .LBB698 16930 252d 2A010000 .4byte .LBE698 16931 2531 04 .byte 0x4 16932 2532 E301 .2byte 0x1e3 16933 2534 2C .byte 0x2c 16934 2535 29 .uleb128 0x29 16935 2536 C70D0000 .4byte timers_driver.cpp.9287e71d+3527 16936 253a 28010000 .4byte .LBI699 ARM GAS /tmp/ccJhhmLc.s page 774 16937 253e 0200 .2byte .LVU2326 16938 2540 28010000 .4byte .LBB699 16939 2544 2A010000 .4byte .LBE699 16940 2548 0B .byte 0xb 16941 2549 1B .byte 0x1b 16942 254a 1B .byte 0x1b 16943 254b 00 .byte 0 16944 254c 00 .byte 0 16945 254d 06 .uleb128 0x6 16946 254e 1E190000 .4byte diskio_sdio.cpp.13d9822e+6430 16947 2552 00000000 .4byte .LFB129 16948 2556 90000000 .4byte .LFE129 16949 255a 03380000 .4byte .LLST285 16950 255e 01 .byte 0x1 16951 255f 51260000 .4byte 0x2651 16952 2563 07 .uleb128 0x7 16953 2564 2F190000 .4byte diskio_sdio.cpp.13d9822e+6447 16954 2568 27380000 .4byte .LLST286 16955 256c 23380000 .4byte .LVUS286 16956 2570 07 .uleb128 0x7 16957 2571 3C190000 .4byte diskio_sdio.cpp.13d9822e+6460 16958 2575 5E380000 .4byte .LLST287 16959 2579 4E380000 .4byte .LVUS287 16960 257d 07 .uleb128 0x7 16961 257e 49190000 .4byte diskio_sdio.cpp.13d9822e+6473 16962 2582 F4380000 .4byte .LLST288 16963 2586 EA380000 .4byte .LVUS288 16964 258a 07 .uleb128 0x7 16965 258b 56190000 .4byte diskio_sdio.cpp.13d9822e+6486 16966 258f 43390000 .4byte .LLST289 16967 2593 33390000 .4byte .LVUS289 16968 2597 05 .uleb128 0x5 16969 2598 63190000 .4byte diskio_sdio.cpp.13d9822e+6499 16970 259c D7390000 .4byte .LLST290 16971 25a0 CB390000 .4byte .LVUS290 16972 25a4 1F .uleb128 0x1f 16973 25a5 0C000000 .4byte .LVL457 16974 25a9 39020000 .4byte 0x239 16975 25ad BB250000 .4byte 0x25bb 16976 25b1 1A .uleb128 0x1a 16977 25b2 98040000 .4byte 0x498 16978 25b6 03 .byte 0x3 16979 25b7 0A .byte 0xa 16980 25b8 2C01 .2byte 0x12c 16981 25ba 00 .byte 0 16982 25bb 1F .uleb128 0x1f 16983 25bc 36000000 .4byte .LVL460 16984 25c0 0C230000 .4byte 0x230c 16985 25c4 DB250000 .4byte 0x25db 16986 25c8 0E .uleb128 0xe 16987 25c9 01 .byte 0x1 16988 25ca 50 .byte 0x50 16989 25cb 02 .byte 0x2 16990 25cc 75 .byte 0x75 16991 25cd 00 .sleb128 0 16992 25ce 0E .uleb128 0xe 16993 25cf 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 775 16994 25d0 51 .byte 0x51 16995 25d1 02 .byte 0x2 16996 25d2 74 .byte 0x74 16997 25d3 00 .sleb128 0 16998 25d4 0E .uleb128 0xe 16999 25d5 01 .byte 0x1 17000 25d6 52 .byte 0x52 17001 25d7 02 .byte 0x2 17002 25d8 76 .byte 0x76 17003 25d9 00 .sleb128 0 17004 25da 00 .byte 0 17005 25db 1F .uleb128 0x1f 17006 25dc 3E000000 .4byte .LVL461 17007 25e0 39020000 .4byte 0x239 17008 25e4 F2250000 .4byte 0x25f2 17009 25e8 1A .uleb128 0x1a 17010 25e9 98040000 .4byte 0x498 17011 25ed 03 .byte 0x3 17012 25ee 0A .byte 0xa 17013 25ef 2C01 .2byte 0x12c 17014 25f1 00 .byte 0 17015 25f2 1F .uleb128 0x1f 17016 25f3 54000000 .4byte .LVL463 17017 25f7 DB370000 .4byte 0x37db 17018 25fb 1B260000 .4byte 0x261b 17019 25ff 0E .uleb128 0xe 17020 2600 01 .byte 0x1 17021 2601 50 .byte 0x50 17022 2602 05 .byte 0x5 17023 2603 03 .byte 0x3 17024 2604 00000000 .4byte _ZL7scratch 17025 2608 0E .uleb128 0xe 17026 2609 01 .byte 0x1 17027 260a 51 .byte 0x51 17028 260b 07 .byte 0x7 17029 260c 74 .byte 0x74 17030 260d 00 .sleb128 0 17031 260e 39 .byte 0x39 17032 260f 24 .byte 0x24 17033 2610 75 .byte 0x75 17034 2611 00 .sleb128 0 17035 2612 22 .byte 0x22 17036 2613 0E .uleb128 0xe 17037 2614 01 .byte 0x1 17038 2615 52 .byte 0x52 17039 2616 03 .byte 0x3 17040 2617 0A .byte 0xa 17041 2618 0002 .2byte 0x200 17042 261a 00 .byte 0 17043 261b 1F .uleb128 0x1f 17044 261c 60000000 .4byte .LVL465 17045 2620 0C230000 .4byte 0x230c 17046 2624 3D260000 .4byte 0x263d 17047 2628 0E .uleb128 0xe 17048 2629 01 .byte 0x1 17049 262a 50 .byte 0x50 17050 262b 05 .byte 0x5 ARM GAS /tmp/ccJhhmLc.s page 776 17051 262c 03 .byte 0x3 17052 262d 00000000 .4byte _ZL7scratch 17053 2631 0E .uleb128 0xe 17054 2632 01 .byte 0x1 17055 2633 51 .byte 0x51 17056 2634 02 .byte 0x2 17057 2635 74 .byte 0x74 17058 2636 00 .sleb128 0 17059 2637 0E .uleb128 0xe 17060 2638 01 .byte 0x1 17061 2639 52 .byte 0x52 17062 263a 01 .byte 0x1 17063 263b 31 .byte 0x31 17064 263c 00 .byte 0 17065 263d 0D .uleb128 0xd 17066 263e 68000000 .4byte .LVL467 17067 2642 39020000 .4byte 0x239 17068 2646 1A .uleb128 0x1a 17069 2647 98040000 .4byte 0x498 17070 264b 03 .byte 0x3 17071 264c 0A .byte 0xa 17072 264d 2C01 .2byte 0x12c 17073 264f 00 .byte 0 17074 2650 00 .byte 0 17075 2651 2A .uleb128 0x2a 17076 2652 070E0000 .4byte usbd_core.c.d5df62af+3591 17077 2656 12040000 .4byte .LASF9 17078 265a 00000000 .4byte .LFB132 17079 265e E4000000 .4byte .LFE132 17080 2662 253A0000 .4byte .LLST291 17081 2666 01 .byte 0x1 17082 2667 6A280000 .4byte 0x286a 17083 266b 0B .uleb128 0xb 17084 266c 250E0000 .4byte usbd_core.c.d5df62af+3621 17085 2670 09 .uleb128 0x9 17086 2671 190E0000 .4byte usbd_core.c.d5df62af+3609 17087 2675 1C .uleb128 0x1c 17088 2676 6E1B0000 .4byte usbd_conf.c.840d1894+7022 17089 267a 02000000 .4byte .LBB727 17090 267e 46000000 .4byte .LBE727 17091 2682 12 .byte 0x12 17092 2683 9A .byte 0x9a 17093 2684 09 .byte 0x9 17094 2685 21270000 .4byte 0x2721 17095 2689 09 .uleb128 0x9 17096 268a 811B0000 .4byte usbd_conf.c.840d1894+7041 17097 268e 05 .uleb128 0x5 17098 268f 8E1B0000 .4byte usbd_conf.c.840d1894+7054 17099 2693 473A0000 .4byte .LLST293 17100 2697 453A0000 .4byte .LVUS293 17101 269b 05 .uleb128 0x5 17102 269c 9B1B0000 .4byte usbd_conf.c.840d1894+7067 17103 26a0 473A0000 .4byte .LLST293 17104 26a4 453A0000 .4byte .LVUS293 17105 26a8 24 .uleb128 0x24 17106 26a9 80130000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4992 17107 26ad 08000000 .4byte .LBB729 ARM GAS /tmp/ccJhhmLc.s page 777 17108 26b1 46000000 .4byte .LBE729 17109 26b5 0D .byte 0xd 17110 26b6 C501 .2byte 0x1c5 17111 26b8 10 .byte 0x10 17112 26b9 07 .uleb128 0x7 17113 26ba 93130000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5011 17114 26be 5D3A0000 .4byte .LLST295 17115 26c2 5B3A0000 .4byte .LVUS295 17116 26c6 05 .uleb128 0x5 17117 26c7 A0130000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5024 17118 26cb 763A0000 .4byte .LLST296 17119 26cf 703A0000 .4byte .LVUS296 17120 26d3 12 .uleb128 0x12 17121 26d4 64160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5732 17122 26d8 18000000 .4byte .LBB731 17123 26dc 20000000 .4byte .LBE731 17124 26e0 0E .byte 0xe 17125 26e1 0704 .2byte 0x407 17126 26e3 03 .byte 0x3 17127 26e4 F6260000 .4byte 0x26f6 17128 26e8 07 .uleb128 0x7 17129 26e9 76160000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5750 17130 26ed A23A0000 .4byte .LLST297 17131 26f1 A03A0000 .4byte .LVUS297 17132 26f5 00 .byte 0 17133 26f6 1F .uleb128 0x1f 17134 26f7 28000000 .4byte .LVL477 17135 26fb 45000000 .4byte 0x45 17136 26ff 0A270000 .4byte 0x270a 17137 2703 0E .uleb128 0xe 17138 2704 01 .byte 0x1 17139 2705 50 .byte 0x50 17140 2706 02 .byte 0x2 17141 2707 70 .byte 0x70 17142 2708 00 .sleb128 0 17143 2709 00 .byte 0 17144 270a 0D .uleb128 0xd 17145 270b 2C000000 .4byte .LVL478 17146 270f 071F0000 .4byte 0x1f07 17147 2713 0E .uleb128 0xe 17148 2714 01 .byte 0x1 17149 2715 50 .byte 0x50 17150 2716 02 .byte 0x2 17151 2717 76 .byte 0x76 17152 2718 00 .sleb128 0 17153 2719 0E .uleb128 0xe 17154 271a 01 .byte 0x1 17155 271b 51 .byte 0x51 17156 271c 01 .byte 0x1 17157 271d 40 .byte 0x40 17158 271e 00 .byte 0 17159 271f 00 .byte 0 17160 2720 00 .byte 0 17161 2721 1D .uleb128 0x1d 17162 2722 E41B0000 .4byte usbd_conf.c.840d1894+7140 17163 2726 E0060000 .4byte .Ldebug_ranges0+0x6e0 17164 272a 12 .byte 0x12 ARM GAS /tmp/ccJhhmLc.s page 778 17165 272b BE .byte 0xbe 17166 272c 09 .byte 0x9 17167 272d 5D280000 .4byte 0x285d 17168 2731 09 .uleb128 0x9 17169 2732 F71B0000 .4byte usbd_conf.c.840d1894+7159 17170 2736 0A .uleb128 0xa 17171 2737 E0060000 .4byte .Ldebug_ranges0+0x6e0 17172 273b 05 .uleb128 0x5 17173 273c 041C0000 .4byte usbd_conf.c.840d1894+7172 17174 2740 B83A0000 .4byte .LLST299 17175 2744 B63A0000 .4byte .LVUS299 17176 2748 05 .uleb128 0x5 17177 2749 111C0000 .4byte usbd_conf.c.840d1894+7185 17178 274d B83A0000 .4byte .LLST299 17179 2751 B63A0000 .4byte .LVUS299 17180 2755 24 .uleb128 0x24 17181 2756 16140000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5142 17182 275a 6C000000 .4byte .LBB735 17183 275e D4000000 .4byte .LBE735 17184 2762 0D .byte 0xd 17185 2763 A301 .2byte 0x1a3 17186 2765 10 .byte 0x10 17187 2766 07 .uleb128 0x7 17188 2767 28140000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+5160 17189 276b CE3A0000 .4byte .LLST301 17190 276f CC3A0000 .4byte .LVUS301 17191 2773 1C .uleb128 0x1c 17192 2774 36110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4406 17193 2778 7E000000 .4byte .LBB737 17194 277c AE000000 .4byte .LBE737 17195 2780 0E .byte 0xe 17196 2781 FF .byte 0xff 17197 2782 07 .byte 0x7 17198 2783 E5270000 .4byte 0x27e5 17199 2787 07 .uleb128 0x7 17200 2788 49110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4425 17201 278c E33A0000 .4byte .LLST302 17202 2790 E13A0000 .4byte .LVUS302 17203 2794 05 .uleb128 0x5 17204 2795 56110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4438 17205 2799 FA3A0000 .4byte .LLST303 17206 279d F63A0000 .4byte .LVUS303 17207 27a1 05 .uleb128 0x5 17208 27a2 63110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4451 17209 27a6 E33A0000 .4byte .LLST302 17210 27aa E13A0000 .4byte .LVUS302 17211 27ae 05 .uleb128 0x5 17212 27af 70110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4464 17213 27b3 1A3B0000 .4byte .LLST305 17214 27b7 183B0000 .4byte .LVUS305 17215 27bb 1F .uleb128 0x1f 17216 27bc A2000000 .4byte .LVL484 17217 27c0 0C1F0000 .4byte 0x1f0c 17218 27c4 CF270000 .4byte 0x27cf 17219 27c8 0E .uleb128 0xe 17220 27c9 01 .byte 0x1 17221 27ca 50 .byte 0x50 ARM GAS /tmp/ccJhhmLc.s page 779 17222 27cb 02 .byte 0x2 17223 27cc 74 .byte 0x74 17224 27cd 00 .sleb128 0 17225 27ce 00 .byte 0 17226 27cf 0D .uleb128 0xd 17227 27d0 AC000000 .4byte .LVL486 17228 27d4 071F0000 .4byte 0x1f07 17229 27d8 0E .uleb128 0xe 17230 27d9 01 .byte 0x1 17231 27da 50 .byte 0x50 17232 27db 02 .byte 0x2 17233 27dc 74 .byte 0x74 17234 27dd 00 .sleb128 0 17235 27de 0E .uleb128 0xe 17236 27df 01 .byte 0x1 17237 27e0 51 .byte 0x51 17238 27e1 01 .byte 0x1 17239 27e2 40 .byte 0x40 17240 27e3 00 .byte 0 17241 27e4 00 .byte 0 17242 27e5 24 .uleb128 0x24 17243 27e6 B11D0000 .4byte usbd_conf.c.840d1894+7601 17244 27ea AE000000 .4byte .LBB739 17245 27ee CE000000 .4byte .LBE739 17246 27f2 0E .byte 0xe 17247 27f3 0E01 .2byte 0x10e 17248 27f5 03 .byte 0x3 17249 27f6 07 .uleb128 0x7 17250 27f7 BF1D0000 .4byte usbd_conf.c.840d1894+7615 17251 27fb 303B0000 .4byte .LLST306 17252 27ff 2E3B0000 .4byte .LVUS306 17253 2803 25 .uleb128 0x25 17254 2804 B11D0000 .4byte usbd_conf.c.840d1894+7601 17255 2808 B4000000 .4byte .LBB741 17256 280c CE000000 .4byte .LBE741 17257 2810 0D .byte 0xd 17258 2811 77 .byte 0x77 17259 2812 06 .byte 0x6 17260 2813 09 .uleb128 0x9 17261 2814 BF1D0000 .4byte usbd_conf.c.840d1894+7615 17262 2818 25 .uleb128 0x25 17263 2819 281E0000 .4byte usbd_conf.c.840d1894+7720 17264 281d BE000000 .4byte .LBB743 17265 2821 CE000000 .4byte .LBE743 17266 2825 0D .byte 0xd 17267 2826 8C .byte 0x8c 17268 2827 05 .byte 0x5 17269 2828 07 .uleb128 0x7 17270 2829 361E0000 .4byte usbd_conf.c.840d1894+7734 17271 282d 453B0000 .4byte .LLST307 17272 2831 433B0000 .4byte .LVUS307 17273 2835 2E .uleb128 0x2e 17274 2836 601E0000 .4byte usbd_conf.c.840d1894+7776 17275 283a C6000000 .4byte .LBB745 17276 283e CA000000 .4byte .LBE745 17277 2842 0F .byte 0xf 17278 2843 C106 .2byte 0x6c1 ARM GAS /tmp/ccJhhmLc.s page 780 17279 2845 05 .byte 0x5 17280 2846 2E .uleb128 0x2e 17281 2847 6A1E0000 .4byte usbd_conf.c.840d1894+7786 17282 284b CA000000 .4byte .LBB747 17283 284f CE000000 .4byte .LBE747 17284 2853 0F .byte 0xf 17285 2854 C206 .2byte 0x6c2 17286 2856 05 .byte 0x5 17287 2857 00 .byte 0 17288 2858 00 .byte 0 17289 2859 00 .byte 0 17290 285a 00 .byte 0 17291 285b 00 .byte 0 17292 285c 00 .byte 0 17293 285d 23 .uleb128 0x23 17294 285e 5A000000 .4byte .LVL480 17295 2862 0E .uleb128 0xe 17296 2863 01 .byte 0x1 17297 2864 50 .byte 0x50 17298 2865 02 .byte 0x2 17299 2866 74 .byte 0x74 17300 2867 00 .sleb128 0 17301 2868 00 .byte 0 17302 2869 00 .byte 0 17303 286a 2A .uleb128 0x2a 17304 286b D00D0000 .4byte usbd_core.c.d5df62af+3536 17305 286f D8000000 .4byte .LASF10 17306 2873 00000000 .4byte .LFB148 17307 2877 30000000 .4byte .LFE148 17308 287b 5A3B0000 .4byte .LLST308 17309 287f 01 .byte 0x1 17310 2880 AB280000 .4byte 0x28ab 17311 2884 07 .uleb128 0x7 17312 2885 EE0D0000 .4byte usbd_core.c.d5df62af+3566 17313 2889 8C3B0000 .4byte .LLST309 17314 288d 863B0000 .4byte .LVUS309 17315 2891 20 .uleb128 0x20 17316 2892 FA0D0000 .4byte usbd_core.c.d5df62af+3578 17317 2896 02 .byte 0x2 17318 2897 91 .byte 0x91 17319 2898 76 .sleb128 -10 17320 2899 09 .uleb128 0x9 17321 289a E20D0000 .4byte usbd_core.c.d5df62af+3554 17322 289e 23 .uleb128 0x23 17323 289f 1A000000 .4byte .LVL494 17324 28a3 0E .uleb128 0xe 17325 28a4 01 .byte 0x1 17326 28a5 50 .byte 0x50 17327 28a6 02 .byte 0x2 17328 28a7 91 .byte 0x91 17329 28a8 76 .sleb128 -10 17330 28a9 00 .byte 0 17331 28aa 00 .byte 0 17332 28ab 2A .uleb128 0x2a 17333 28ac A5180000 .4byte usbd_conf.c.840d1894+6309 17334 28b0 1E030000 .4byte .LASF11 17335 28b4 00000000 .4byte .LFB150 ARM GAS /tmp/ccJhhmLc.s page 781 17336 28b8 48000000 .4byte .LFE150 17337 28bc C03B0000 .4byte .LLST310 17338 28c0 01 .byte 0x1 17339 28c1 7A290000 .4byte 0x297a 17340 28c5 07 .uleb128 0x7 17341 28c6 B8180000 .4byte usbd_conf.c.840d1894+6328 17342 28ca 083C0000 .4byte .LLST311 17343 28ce 043C0000 .4byte .LVUS311 17344 28d2 07 .uleb128 0x7 17345 28d3 C5180000 .4byte usbd_conf.c.840d1894+6341 17346 28d7 333C0000 .4byte .LLST312 17347 28db 2F3C0000 .4byte .LVUS312 17348 28df 07 .uleb128 0x7 17349 28e0 D2180000 .4byte usbd_conf.c.840d1894+6354 17350 28e4 643C0000 .4byte .LLST313 17351 28e8 5A3C0000 .4byte .LVUS313 17352 28ec 07 .uleb128 0x7 17353 28ed DF180000 .4byte usbd_conf.c.840d1894+6367 17354 28f1 D33C0000 .4byte .LLST314 17355 28f5 C73C0000 .4byte .LVUS314 17356 28f9 2B .uleb128 0x2b 17357 28fa EC180000 .4byte usbd_conf.c.840d1894+6380 17358 28fe 00 .byte 0 17359 28ff 2B .uleb128 0x2b 17360 2900 F9180000 .4byte usbd_conf.c.840d1894+6393 17361 2904 00 .byte 0 17362 2905 08 .uleb128 0x8 17363 2906 DB0F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4059 17364 290a F8060000 .4byte .Ldebug_ranges0+0x6f8 17365 290e 0D .byte 0xd 17366 290f 6F02 .2byte 0x26f 17367 2911 10 .byte 0x10 17368 2912 07 .uleb128 0x7 17369 2913 EE0F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4078 17370 2917 473D0000 .4byte .LLST315 17371 291b 433D0000 .4byte .LVUS315 17372 291f 07 .uleb128 0x7 17373 2920 FB0F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4091 17374 2924 693D0000 .4byte .LLST316 17375 2928 653D0000 .4byte .LVUS316 17376 292c 07 .uleb128 0x7 17377 292d 08100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4104 17378 2931 9A3D0000 .4byte .LLST317 17379 2935 903D0000 .4byte .LVUS317 17380 2939 07 .uleb128 0x7 17381 293a 15100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4117 17382 293e 093E0000 .4byte .LLST318 17383 2942 FD3D0000 .4byte .LVUS318 17384 2946 0A .uleb128 0xa 17385 2947 F8060000 .4byte .Ldebug_ranges0+0x6f8 17386 294b 05 .uleb128 0x5 17387 294c 22100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4130 17388 2950 7B3E0000 .4byte .LLST319 17389 2954 793E0000 .4byte .LVUS319 17390 2958 30 .uleb128 0x30 17391 2959 42000000 .4byte .LVL504 17392 295d 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 782 17393 295e 77010000 .4byte 0x177 17394 2962 6D290000 .4byte 0x296d 17395 2966 0E .uleb128 0xe 17396 2967 01 .byte 0x1 17397 2968 51 .byte 0x51 17398 2969 02 .byte 0x2 17399 296a 71 .byte 0x71 17400 296b 00 .sleb128 0 17401 296c 00 .byte 0 17402 296d 1E .uleb128 0x1e 17403 296e 48000000 .4byte .LVL506 17404 2972 01 .byte 0x1 17405 2973 99000000 .4byte 0x99 17406 2977 00 .byte 0 17407 2978 00 .byte 0 17408 2979 00 .byte 0 17409 297a 2A .uleb128 0x2a 17410 297b 07190000 .4byte usbd_conf.c.840d1894+6407 17411 297f C4030000 .4byte .LASF12 17412 2983 00000000 .4byte .LFB153 17413 2987 42000000 .4byte .LFE153 17414 298b 8E3E0000 .4byte .LLST320 17415 298f 01 .byte 0x1 17416 2990 492A0000 .4byte 0x2a49 17417 2994 07 .uleb128 0x7 17418 2995 1A190000 .4byte usbd_conf.c.840d1894+6426 17419 2999 D63E0000 .4byte .LLST321 17420 299d D23E0000 .4byte .LVUS321 17421 29a1 07 .uleb128 0x7 17422 29a2 27190000 .4byte usbd_conf.c.840d1894+6439 17423 29a6 013F0000 .4byte .LLST322 17424 29aa FD3E0000 .4byte .LVUS322 17425 29ae 07 .uleb128 0x7 17426 29af 34190000 .4byte usbd_conf.c.840d1894+6452 17427 29b3 323F0000 .4byte .LLST323 17428 29b7 283F0000 .4byte .LVUS323 17429 29bb 07 .uleb128 0x7 17430 29bc 41190000 .4byte usbd_conf.c.840d1894+6465 17431 29c0 9F3F0000 .4byte .LLST324 17432 29c4 933F0000 .4byte .LVUS324 17433 29c8 2B .uleb128 0x2b 17434 29c9 4E190000 .4byte usbd_conf.c.840d1894+6478 17435 29cd 00 .byte 0 17436 29ce 2B .uleb128 0x2b 17437 29cf 5B190000 .4byte usbd_conf.c.840d1894+6491 17438 29d3 00 .byte 0 17439 29d4 08 .uleb128 0x8 17440 29d5 590F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3929 17441 29d9 18070000 .4byte .Ldebug_ranges0+0x718 17442 29dd 0D .byte 0xd 17443 29de 5B02 .2byte 0x25b 17444 29e0 10 .byte 0x10 17445 29e1 07 .uleb128 0x7 17446 29e2 6C0F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3948 17447 29e6 11400000 .4byte .LLST325 17448 29ea 0D400000 .4byte .LVUS325 17449 29ee 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 783 17450 29ef 790F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3961 17451 29f3 33400000 .4byte .LLST326 17452 29f7 2F400000 .4byte .LVUS326 17453 29fb 07 .uleb128 0x7 17454 29fc 860F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3974 17455 2a00 64400000 .4byte .LLST327 17456 2a04 5A400000 .4byte .LVUS327 17457 2a08 07 .uleb128 0x7 17458 2a09 930F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3987 17459 2a0d D1400000 .4byte .LLST328 17460 2a11 C5400000 .4byte .LVUS328 17461 2a15 0A .uleb128 0xa 17462 2a16 18070000 .4byte .Ldebug_ranges0+0x718 17463 2a1a 05 .uleb128 0x5 17464 2a1b A00F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4000 17465 2a1f 41410000 .4byte .LLST329 17466 2a23 3F410000 .4byte .LVUS329 17467 2a27 30 .uleb128 0x30 17468 2a28 3C000000 .4byte .LVL516 17469 2a2c 01 .byte 0x1 17470 2a2d 77010000 .4byte 0x177 17471 2a31 3C2A0000 .4byte 0x2a3c 17472 2a35 0E .uleb128 0xe 17473 2a36 01 .byte 0x1 17474 2a37 51 .byte 0x51 17475 2a38 02 .byte 0x2 17476 2a39 71 .byte 0x71 17477 2a3a 00 .sleb128 0 17478 2a3b 00 .byte 0 17479 2a3c 1E .uleb128 0x1e 17480 2a3d 42000000 .4byte .LVL518 17481 2a41 01 .byte 0x1 17482 2a42 99000000 .4byte 0x99 17483 2a46 00 .byte 0 17484 2a47 00 .byte 0 17485 2a48 00 .byte 0 17486 2a49 2A .uleb128 0x2a 17487 2a4a EC190000 .4byte usbd_conf.c.840d1894+6636 17488 2a4e 48040000 .4byte .LASF13 17489 2a52 00000000 .4byte .LFB156 17490 2a56 82000000 .4byte .LFE156 17491 2a5a 54410000 .4byte .LLST330 17492 2a5e 01 .byte 0x1 17493 2a5f 112B0000 .4byte 0x2b11 17494 2a63 07 .uleb128 0x7 17495 2a64 FF190000 .4byte usbd_conf.c.840d1894+6655 17496 2a68 78410000 .4byte .LLST331 17497 2a6c 74410000 .4byte .LVUS331 17498 2a70 07 .uleb128 0x7 17499 2a71 0C1A0000 .4byte usbd_conf.c.840d1894+6668 17500 2a75 A3410000 .4byte .LLST332 17501 2a79 9F410000 .4byte .LVUS332 17502 2a7d 05 .uleb128 0x5 17503 2a7e 191A0000 .4byte usbd_conf.c.840d1894+6681 17504 2a82 CC410000 .4byte .LLST333 17505 2a86 CA410000 .4byte .LVUS333 17506 2a8a 05 .uleb128 0x5 ARM GAS /tmp/ccJhhmLc.s page 784 17507 2a8b 261A0000 .4byte usbd_conf.c.840d1894+6694 17508 2a8f CC410000 .4byte .LLST333 17509 2a93 CA410000 .4byte .LVUS333 17510 2a97 08 .uleb128 0x8 17511 2a98 DF0E0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3807 17512 2a9c 38070000 .4byte .Ldebug_ranges0+0x738 17513 2aa0 0D .byte 0xd 17514 2aa1 2102 .2byte 0x221 17515 2aa3 10 .byte 0x10 17516 2aa4 07 .uleb128 0x7 17517 2aa5 F20E0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3826 17518 2aa9 E2410000 .4byte .LLST335 17519 2aad E0410000 .4byte .LVUS335 17520 2ab1 07 .uleb128 0x7 17521 2ab2 FF0E0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3839 17522 2ab6 F9410000 .4byte .LLST336 17523 2aba F5410000 .4byte .LVUS336 17524 2abe 0A .uleb128 0xa 17525 2abf 38070000 .4byte .Ldebug_ranges0+0x738 17526 2ac3 05 .uleb128 0x5 17527 2ac4 0C0F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3852 17528 2ac8 24420000 .4byte .LLST337 17529 2acc 20420000 .4byte .LVUS337 17530 2ad0 24 .uleb128 0x24 17531 2ad1 7C110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4476 17532 2ad5 4C000000 .4byte .LBB773 17533 2ad9 7A000000 .4byte .LBE773 17534 2add 0E .byte 0xe 17535 2ade 9F07 .2byte 0x79f 17536 2ae0 09 .byte 0x9 17537 2ae1 07 .uleb128 0x7 17538 2ae2 9C110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4508 17539 2ae6 76440000 .4byte .LLST338 17540 2aea 72440000 .4byte .LVUS338 17541 2aee 07 .uleb128 0x7 17542 2aef 8F110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4495 17543 2af3 C6460000 .4byte .LLST339 17544 2af7 C4460000 .4byte .LVUS339 17545 2afb 05 .uleb128 0x5 17546 2afc A8110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4520 17547 2b00 DC460000 .4byte .LLST340 17548 2b04 DA460000 .4byte .LVUS340 17549 2b08 0B .uleb128 0xb 17550 2b09 B5110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4533 17551 2b0d 00 .byte 0 17552 2b0e 00 .byte 0 17553 2b0f 00 .byte 0 17554 2b10 00 .byte 0 17555 2b11 2A .uleb128 0x2a 17556 2b12 7C1A0000 .4byte usbd_conf.c.840d1894+6780 17557 2b16 84000000 .4byte .LASF14 17558 2b1a 00000000 .4byte .LFB161 17559 2b1e 30000000 .4byte .LFE161 17560 2b22 F0460000 .4byte .LLST341 17561 2b26 01 .byte 0x1 17562 2b27 AE2B0000 .4byte 0x2bae 17563 2b2b 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 785 17564 2b2c 8F1A0000 .4byte usbd_conf.c.840d1894+6799 17565 2b30 14470000 .4byte .LLST342 17566 2b34 10470000 .4byte .LVUS342 17567 2b38 07 .uleb128 0x7 17568 2b39 9C1A0000 .4byte usbd_conf.c.840d1894+6812 17569 2b3d 43470000 .4byte .LLST343 17570 2b41 3B470000 .4byte .LVUS343 17571 2b45 05 .uleb128 0x5 17572 2b46 A91A0000 .4byte usbd_conf.c.840d1894+6825 17573 2b4a 8D470000 .4byte .LLST344 17574 2b4e 89470000 .4byte .LVUS344 17575 2b52 05 .uleb128 0x5 17576 2b53 B61A0000 .4byte usbd_conf.c.840d1894+6838 17577 2b57 8D470000 .4byte .LLST344 17578 2b5b 89470000 .4byte .LVUS344 17579 2b5f 08 .uleb128 0x8 17580 2b60 B10E0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3761 17581 2b64 50070000 .4byte .Ldebug_ranges0+0x750 17582 2b68 0D .byte 0xd 17583 2b69 FD01 .2byte 0x1fd 17584 2b6b 10 .byte 0x10 17585 2b6c 07 .uleb128 0x7 17586 2b6d C40E0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3780 17587 2b71 B1470000 .4byte .LLST346 17588 2b75 AD470000 .4byte .LVUS346 17589 2b79 07 .uleb128 0x7 17590 2b7a D10E0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3793 17591 2b7e D7470000 .4byte .LLST347 17592 2b82 CF470000 .4byte .LVUS347 17593 2b86 1F .uleb128 0x1f 17594 2b87 22000000 .4byte .LVL532 17595 2b8b 071F0000 .4byte 0x1f07 17596 2b8f A32B0000 .4byte 0x2ba3 17597 2b93 0E .uleb128 0xe 17598 2b94 01 .byte 0x1 17599 2b95 51 .byte 0x51 17600 2b96 0B .byte 0xb 17601 2b97 F3 .byte 0xf3 17602 2b98 03 .uleb128 0x3 17603 2b99 F5 .byte 0xf5 17604 2b9a 01 .uleb128 0x1 17605 2b9b 29 .uleb128 0x29 17606 2b9c F7 .byte 0xf7 17607 2b9d 30 .uleb128 0x30 17608 2b9e F7 .byte 0xf7 17609 2b9f 00 .uleb128 0 17610 2ba0 3F .byte 0x3f 17611 2ba1 1A .byte 0x1a 17612 2ba2 00 .byte 0 17613 2ba3 0F .uleb128 0xf 17614 2ba4 2E000000 .4byte .LVL535 17615 2ba8 0C1F0000 .4byte 0x1f0c 17616 2bac 00 .byte 0 17617 2bad 00 .byte 0 17618 2bae 2A .uleb128 0x2a 17619 2baf C41A0000 .4byte usbd_conf.c.840d1894+6852 17620 2bb3 31040000 .4byte .LASF18 ARM GAS /tmp/ccJhhmLc.s page 786 17621 2bb7 00000000 .4byte .LFB164 17622 2bbb D8000000 .4byte .LFE164 17623 2bbf 1D480000 .4byte .LLST348 17624 2bc3 01 .byte 0x1 17625 2bc4 802C0000 .4byte 0x2c80 17626 2bc8 07 .uleb128 0x7 17627 2bc9 D71A0000 .4byte usbd_conf.c.840d1894+6871 17628 2bcd 41480000 .4byte .LLST349 17629 2bd1 3D480000 .4byte .LVUS349 17630 2bd5 07 .uleb128 0x7 17631 2bd6 E41A0000 .4byte usbd_conf.c.840d1894+6884 17632 2bda 6C480000 .4byte .LLST350 17633 2bde 68480000 .4byte .LVUS350 17634 2be2 05 .uleb128 0x5 17635 2be3 F11A0000 .4byte usbd_conf.c.840d1894+6897 17636 2be7 97480000 .4byte .LLST351 17637 2beb 93480000 .4byte .LVUS351 17638 2bef 05 .uleb128 0x5 17639 2bf0 FE1A0000 .4byte usbd_conf.c.840d1894+6910 17640 2bf4 97480000 .4byte .LLST351 17641 2bf8 93480000 .4byte .LVUS351 17642 2bfc 08 .uleb128 0x8 17643 2bfd 2F100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4143 17644 2c01 68070000 .4byte .Ldebug_ranges0+0x768 17645 2c05 0D .byte 0xd 17646 2c06 EB01 .2byte 0x1eb 17647 2c08 10 .byte 0x10 17648 2c09 07 .uleb128 0x7 17649 2c0a 42100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4162 17650 2c0e BB480000 .4byte .LLST353 17651 2c12 B7480000 .4byte .LVUS353 17652 2c16 07 .uleb128 0x7 17653 2c17 4F100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4175 17654 2c1b DF480000 .4byte .LLST354 17655 2c1f D9480000 .4byte .LVUS354 17656 2c23 0A .uleb128 0xa 17657 2c24 68070000 .4byte .Ldebug_ranges0+0x768 17658 2c28 05 .uleb128 0x5 17659 2c29 5C100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4188 17660 2c2d 20490000 .4byte .LLST355 17661 2c31 1A490000 .4byte .LVUS355 17662 2c35 08 .uleb128 0x8 17663 2c36 1A140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5146 17664 2c3a 88070000 .4byte .Ldebug_ranges0+0x788 17665 2c3e 0E .byte 0xe 17666 2c3f FA06 .2byte 0x6fa 17667 2c41 09 .byte 0x9 17668 2c42 07 .uleb128 0x7 17669 2c43 3A140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5178 17670 2c47 AF4D0000 .4byte .LLST356 17671 2c4b A94D0000 .4byte .LVUS356 17672 2c4f 07 .uleb128 0x7 17673 2c50 2D140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5165 17674 2c54 3E520000 .4byte .LLST357 17675 2c58 38520000 .4byte .LVUS357 17676 2c5c 0A .uleb128 0xa 17677 2c5d 88070000 .4byte .Ldebug_ranges0+0x788 ARM GAS /tmp/ccJhhmLc.s page 787 17678 2c61 05 .uleb128 0x5 17679 2c62 46140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5190 17680 2c66 6F520000 .4byte .LLST358 17681 2c6a 69520000 .4byte .LVUS358 17682 2c6e 05 .uleb128 0x5 17683 2c6f 53140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5203 17684 2c73 A0520000 .4byte .LLST359 17685 2c77 9A520000 .4byte .LVUS359 17686 2c7b 00 .byte 0 17687 2c7c 00 .byte 0 17688 2c7d 00 .byte 0 17689 2c7e 00 .byte 0 17690 2c7f 00 .byte 0 17691 2c80 2A .uleb128 0x2a 17692 2c81 0C1B0000 .4byte usbd_conf.c.840d1894+6924 17693 2c85 B5000000 .4byte .LASF19 17694 2c89 00000000 .4byte .LFB169 17695 2c8d C0000000 .4byte .LFE169 17696 2c91 38570000 .4byte .LLST360 17697 2c95 01 .byte 0x1 17698 2c96 862D0000 .4byte 0x2d86 17699 2c9a 07 .uleb128 0x7 17700 2c9b 1F1B0000 .4byte usbd_conf.c.840d1894+6943 17701 2c9f 5C570000 .4byte .LLST361 17702 2ca3 58570000 .4byte .LVUS361 17703 2ca7 07 .uleb128 0x7 17704 2ca8 2C1B0000 .4byte usbd_conf.c.840d1894+6956 17705 2cac 87570000 .4byte .LLST362 17706 2cb0 83570000 .4byte .LVUS362 17707 2cb4 04 .uleb128 0x4 17708 2cb5 391B0000 .4byte usbd_conf.c.840d1894+6969 17709 2cb9 01 .byte 0x1 17710 2cba 52 .byte 0x52 17711 2cbb 07 .uleb128 0x7 17712 2cbc 461B0000 .4byte usbd_conf.c.840d1894+6982 17713 2cc0 B6570000 .4byte .LLST363 17714 2cc4 AE570000 .4byte .LVUS363 17715 2cc8 05 .uleb128 0x5 17716 2cc9 531B0000 .4byte usbd_conf.c.840d1894+6995 17717 2ccd 00580000 .4byte .LLST364 17718 2cd1 FC570000 .4byte .LVUS364 17719 2cd5 05 .uleb128 0x5 17720 2cd6 601B0000 .4byte usbd_conf.c.840d1894+7008 17721 2cda 00580000 .4byte .LLST364 17722 2cde FC570000 .4byte .LVUS364 17723 2ce2 08 .uleb128 0x8 17724 2ce3 69100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4201 17725 2ce7 A0070000 .4byte .Ldebug_ranges0+0x7a0 17726 2ceb 0D .byte 0xd 17727 2cec D901 .2byte 0x1d9 17728 2cee 10 .byte 0x10 17729 2cef 07 .uleb128 0x7 17730 2cf0 7C100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4220 17731 2cf4 24580000 .4byte .LLST366 17732 2cf8 20580000 .4byte .LVUS366 17733 2cfc 07 .uleb128 0x7 17734 2cfd 89100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4233 ARM GAS /tmp/ccJhhmLc.s page 788 17735 2d01 46580000 .4byte .LLST367 17736 2d05 42580000 .4byte .LVUS367 17737 2d09 07 .uleb128 0x7 17738 2d0a 96100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4246 17739 2d0e 7E580000 .4byte .LLST368 17740 2d12 76580000 .4byte .LVUS368 17741 2d16 07 .uleb128 0x7 17742 2d17 A3100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4259 17743 2d1b C8580000 .4byte .LLST369 17744 2d1f C4580000 .4byte .LVUS369 17745 2d23 0A .uleb128 0xa 17746 2d24 A0070000 .4byte .Ldebug_ranges0+0x7a0 17747 2d28 2B .uleb128 0x2b 17748 2d29 B0100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4272 17749 2d2d 00 .byte 0 17750 2d2e 05 .uleb128 0x5 17751 2d2f BD100000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+4285 17752 2d33 F0580000 .4byte .LLST370 17753 2d37 E6580000 .4byte .LVUS370 17754 2d3b 08 .uleb128 0x8 17755 2d3c A8140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5288 17756 2d40 B8070000 .4byte .Ldebug_ranges0+0x7b8 17757 2d44 0E .byte 0xe 17758 2d45 DD06 .2byte 0x6dd 17759 2d47 09 .byte 0x9 17760 2d48 07 .uleb128 0x7 17761 2d49 BB140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5307 17762 2d4d EC5B0000 .4byte .LLST371 17763 2d51 E85B0000 .4byte .LVUS371 17764 2d55 07 .uleb128 0x7 17765 2d56 C8140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5320 17766 2d5a 125C0000 .4byte .LLST372 17767 2d5e 0A5C0000 .4byte .LVUS372 17768 2d62 0A .uleb128 0xa 17769 2d63 B8070000 .4byte .Ldebug_ranges0+0x7b8 17770 2d67 05 .uleb128 0x5 17771 2d68 D4140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5332 17772 2d6c EC5B0000 .4byte .LLST371 17773 2d70 E85B0000 .4byte .LVUS371 17774 2d74 05 .uleb128 0x5 17775 2d75 E1140000 .4byte stm32f4xx_ll_usb.c.b0b15edb+5345 17776 2d79 FE5E0000 .4byte .LLST374 17777 2d7d FA5E0000 .4byte .LVUS374 17778 2d81 00 .byte 0 17779 2d82 00 .byte 0 17780 2d83 00 .byte 0 17781 2d84 00 .byte 0 17782 2d85 00 .byte 0 17783 2d86 2A .uleb128 0x2a 17784 2d87 3D100000 .4byte usbd_msc_scsi.c.9ea08f05+4157 17785 2d8b 3C010000 .4byte .LASF20 17786 2d8f 00000000 .4byte .LFB174 17787 2d93 38000000 .4byte .LFE174 17788 2d97 385F0000 .4byte .LLST375 17789 2d9b 01 .byte 0x1 17790 2d9c DC2D0000 .4byte 0x2ddc 17791 2da0 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 789 17792 2da1 4C100000 .4byte usbd_msc_scsi.c.9ea08f05+4172 17793 2da5 5C5F0000 .4byte .LLST376 17794 2da9 585F0000 .4byte .LVUS376 17795 2dad 04 .uleb128 0x4 17796 2dae 66100000 .4byte usbd_msc_scsi.c.9ea08f05+4198 17797 2db2 01 .byte 0x1 17798 2db3 51 .byte 0x51 17799 2db4 07 .uleb128 0x7 17800 2db5 73100000 .4byte usbd_msc_scsi.c.9ea08f05+4211 17801 2db9 895F0000 .4byte .LLST377 17802 2dbd 835F0000 .4byte .LVUS377 17803 2dc1 05 .uleb128 0x5 17804 2dc2 80100000 .4byte usbd_msc_scsi.c.9ea08f05+4224 17805 2dc6 BF5F0000 .4byte .LLST378 17806 2dca BD5F0000 .4byte .LVUS378 17807 2dce 07 .uleb128 0x7 17808 2dcf 59100000 .4byte usbd_msc_scsi.c.9ea08f05+4185 17809 2dd3 D45F0000 .4byte .LLST379 17810 2dd7 D25F0000 .4byte .LVUS379 17811 2ddb 00 .byte 0 17812 2ddc 1B .uleb128 0x1b 17813 2ddd 3D100000 .4byte usbd_msc_scsi.c.9ea08f05+4157 17814 2de1 EB2D0000 .4byte 0x2deb 17815 2de5 09 .uleb128 0x9 17816 2de6 59100000 .4byte usbd_msc_scsi.c.9ea08f05+4185 17817 2dea 00 .byte 0 17818 2deb 2A .uleb128 0x2a 17819 2dec B60B0000 .4byte usbd_msc_scsi.c.9ea08f05+2998 17820 2df0 86040000 .4byte .LASF21 17821 2df4 00000000 .4byte .LFB176 17822 2df8 16000000 .4byte .LFE176 17823 2dfc EC5F0000 .4byte .LLST380 17824 2e00 01 .byte 0x1 17825 2e01 762E0000 .4byte 0x2e76 17826 2e05 04 .uleb128 0x4 17827 2e06 C80B0000 .4byte usbd_msc_scsi.c.9ea08f05+3016 17828 2e0a 01 .byte 0x1 17829 2e0b 50 .byte 0x50 17830 2e0c 04 .uleb128 0x4 17831 2e0d D50B0000 .4byte usbd_msc_scsi.c.9ea08f05+3029 17832 2e11 01 .byte 0x1 17833 2e12 51 .byte 0x51 17834 2e13 07 .uleb128 0x7 17835 2e14 E20B0000 .4byte usbd_msc_scsi.c.9ea08f05+3042 17836 2e18 10600000 .4byte .LLST381 17837 2e1c 0C600000 .4byte .LVUS381 17838 2e20 05 .uleb128 0x5 17839 2e21 EF0B0000 .4byte usbd_msc_scsi.c.9ea08f05+3055 17840 2e25 3B600000 .4byte .LLST382 17841 2e29 37600000 .4byte .LVUS382 17842 2e2d 08 .uleb128 0x8 17843 2e2e B60B0000 .4byte usbd_msc_scsi.c.9ea08f05+2998 17844 2e32 E0070000 .4byte .Ldebug_ranges0+0x7e0 17845 2e36 14 .byte 0x14 17846 2e37 0A05 .2byte 0x50a 17847 2e39 0F .byte 0xf 17848 2e3a 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 790 17849 2e3b C80B0000 .4byte usbd_msc_scsi.c.9ea08f05+3016 17850 2e3f 66600000 .4byte .LLST383 17851 2e43 62600000 .4byte .LVUS383 17852 2e47 07 .uleb128 0x7 17853 2e48 D50B0000 .4byte usbd_msc_scsi.c.9ea08f05+3029 17854 2e4c 88600000 .4byte .LLST384 17855 2e50 84600000 .4byte .LVUS384 17856 2e54 07 .uleb128 0x7 17857 2e55 E20B0000 .4byte usbd_msc_scsi.c.9ea08f05+3042 17858 2e59 AA600000 .4byte .LLST385 17859 2e5d A6600000 .4byte .LVUS385 17860 2e61 0A .uleb128 0xa 17861 2e62 E0070000 .4byte .Ldebug_ranges0+0x7e0 17862 2e66 05 .uleb128 0x5 17863 2e67 EF0B0000 .4byte usbd_msc_scsi.c.9ea08f05+3055 17864 2e6b E0600000 .4byte .LLST386 17865 2e6f DA600000 .4byte .LVUS386 17866 2e73 00 .byte 0 17867 2e74 00 .byte 0 17868 2e75 00 .byte 0 17869 2e76 2F .uleb128 0x2f 17870 2e77 32070000 .4byte usbd_ioreq.c.cf309e2d+1842 17871 2e7b F8030000 .4byte .LASF22 17872 2e7f 00000000 .4byte .LFB180 17873 2e83 10000000 .4byte .LFE180 17874 2e87 02 .byte 0x2 17875 2e88 7D .byte 0x7d 17876 2e89 00 .sleb128 0 17877 2e8a 01 .byte 0x1 17878 2e8b C42E0000 .4byte 0x2ec4 17879 2e8f 07 .uleb128 0x7 17880 2e90 44070000 .4byte usbd_ioreq.c.cf309e2d+1860 17881 2e94 0D610000 .4byte .LLST387 17882 2e98 09610000 .4byte .LVUS387 17883 2e9c 31 .uleb128 0x31 17884 2e9d 10000000 .4byte .LVL577 17885 2ea1 01 .byte 0x1 17886 2ea2 7A290000 .4byte 0x297a 17887 2ea6 0E .uleb128 0xe 17888 2ea7 01 .byte 0x1 17889 2ea8 50 .byte 0x50 17890 2ea9 09 .byte 0x9 17891 2eaa F3 .byte 0xf3 17892 2eab 03 .uleb128 0x3 17893 2eac F5 .byte 0xf5 17894 2ead 00 .uleb128 0 17895 2eae 29 .uleb128 0x29 17896 2eaf F7 .byte 0xf7 17897 2eb0 30 .uleb128 0x30 17898 2eb1 F7 .byte 0xf7 17899 2eb2 00 .uleb128 0 17900 2eb3 0E .uleb128 0xe 17901 2eb4 01 .byte 0x1 17902 2eb5 51 .byte 0x51 17903 2eb6 01 .byte 0x1 17904 2eb7 30 .byte 0x30 17905 2eb8 0E .uleb128 0xe ARM GAS /tmp/ccJhhmLc.s page 791 17906 2eb9 01 .byte 0x1 17907 2eba 52 .byte 0x52 17908 2ebb 01 .byte 0x1 17909 2ebc 30 .byte 0x30 17910 2ebd 0E .uleb128 0xe 17911 2ebe 01 .byte 0x1 17912 2ebf 53 .byte 0x53 17913 2ec0 01 .byte 0x1 17914 2ec1 30 .byte 0x30 17915 2ec2 00 .byte 0 17916 2ec3 00 .byte 0 17917 2ec4 32 .uleb128 0x32 17918 2ec5 6F1D0000 .4byte usbd_conf.c.840d1894+7535 17919 2ec9 14000000 .4byte .LASF35 17920 2ecd 00000000 .4byte .LFB182 17921 2ed1 88000000 .4byte .LFE182 17922 2ed5 34610000 .4byte .LLST388 17923 2ed9 AD2F0000 .4byte 0x2fad 17924 2edd 07 .uleb128 0x7 17925 2ede 891D0000 .4byte usbd_conf.c.840d1894+7561 17926 2ee2 AA610000 .4byte .LLST389 17927 2ee6 9C610000 .4byte .LVUS389 17928 2eea 09 .uleb128 0x9 17929 2eeb 7D1D0000 .4byte usbd_conf.c.840d1894+7549 17930 2eef 33 .uleb128 0x33 17931 2ef0 5A0C0000 .4byte usbd_core.c.d5df62af+3162 17932 2ef4 F8070000 .4byte .Ldebug_ranges0+0x7f8 17933 2ef8 0D .byte 0xd 17934 2ef9 AB .byte 0xab 17935 2efa 03 .byte 0x3 17936 2efb 09 .uleb128 0x9 17937 2efc 870C0000 .4byte usbd_core.c.d5df62af+3207 17938 2f00 07 .uleb128 0x7 17939 2f01 6D0C0000 .4byte usbd_core.c.d5df62af+3181 17940 2f05 1D620000 .4byte .LLST391 17941 2f09 11620000 .4byte .LVUS391 17942 2f0d 07 .uleb128 0x7 17943 2f0e 7A0C0000 .4byte usbd_core.c.d5df62af+3194 17944 2f12 75620000 .4byte .LLST392 17945 2f16 67620000 .4byte .LVUS392 17946 2f1a 0A .uleb128 0xa 17947 2f1b F8070000 .4byte .Ldebug_ranges0+0x7f8 17948 2f1f 05 .uleb128 0x5 17949 2f20 940C0000 .4byte usbd_core.c.d5df62af+3220 17950 2f24 E4620000 .4byte .LLST393 17951 2f28 DC620000 .4byte .LVUS393 17952 2f2c 2B .uleb128 0x2b 17953 2f2d A10C0000 .4byte usbd_core.c.d5df62af+3233 17954 2f31 00 .byte 0 17955 2f32 05 .uleb128 0x5 17956 2f33 AE0C0000 .4byte usbd_core.c.d5df62af+3246 17957 2f37 26630000 .4byte .LLST394 17958 2f3b 24630000 .4byte .LVUS394 17959 2f3f 2C .uleb128 0x2c 17960 2f40 51070000 .4byte usbd_ioreq.c.cf309e2d+1873 17961 2f44 28080000 .4byte .Ldebug_ranges0+0x828 17962 2f48 12 .byte 0x12 ARM GAS /tmp/ccJhhmLc.s page 792 17963 2f49 5E02 .2byte 0x25e 17964 2f4b 0F .byte 0xf 17965 2f4c 902F0000 .4byte 0x2f90 17966 2f50 07 .uleb128 0x7 17967 2f51 63070000 .4byte usbd_ioreq.c.cf309e2d+1891 17968 2f55 3E630000 .4byte .LLST395 17969 2f59 3A630000 .4byte .LVUS395 17970 2f5d 07 .uleb128 0x7 17971 2f5e 6F070000 .4byte usbd_ioreq.c.cf309e2d+1903 17972 2f62 5E630000 .4byte .LLST396 17973 2f66 5C630000 .4byte .LVUS396 17974 2f6a 07 .uleb128 0x7 17975 2f6b 7B070000 .4byte usbd_ioreq.c.cf309e2d+1915 17976 2f6f 79630000 .4byte .LLST397 17977 2f73 71630000 .4byte .LVUS397 17978 2f77 31 .uleb128 0x31 17979 2f78 40000000 .4byte .LVL586 17980 2f7c 01 .byte 0x1 17981 2f7d AB280000 .4byte 0x28ab 17982 2f81 0E .uleb128 0xe 17983 2f82 01 .byte 0x1 17984 2f83 51 .byte 0x51 17985 2f84 09 .byte 0x9 17986 2f85 F3 .byte 0xf3 17987 2f86 03 .uleb128 0x3 17988 2f87 F5 .byte 0xf5 17989 2f88 00 .uleb128 0 17990 2f89 29 .uleb128 0x29 17991 2f8a F7 .byte 0xf7 17992 2f8b 37 .uleb128 0x37 17993 2f8c F7 .byte 0xf7 17994 2f8d 00 .uleb128 0 17995 2f8e 00 .byte 0 17996 2f8f 00 .byte 0 17997 2f90 21 .uleb128 0x21 17998 2f91 58000000 .4byte .LVL587 17999 2f95 A02F0000 .4byte 0x2fa0 18000 2f99 0E .uleb128 0xe 18001 2f9a 01 .byte 0x1 18002 2f9b 50 .byte 0x50 18003 2f9c 02 .byte 0x2 18004 2f9d 74 .byte 0x74 18005 2f9e 00 .sleb128 0 18006 2f9f 00 .byte 0 18007 2fa0 1E .uleb128 0x1e 18008 2fa1 62000000 .4byte .LVL589 18009 2fa5 01 .byte 0x1 18010 2fa6 762E0000 .4byte 0x2e76 18011 2faa 00 .byte 0 18012 2fab 00 .byte 0 18013 2fac 00 .byte 0 18014 2fad 2A .uleb128 0x2a 18015 2fae F6070000 .4byte usbd_ioreq.c.cf309e2d+2038 18016 2fb2 88030000 .4byte .LASF23 18017 2fb6 00000000 .4byte .LFB188 18018 2fba 1C000000 .4byte .LFE188 18019 2fbe 1A640000 .4byte .LLST398 ARM GAS /tmp/ccJhhmLc.s page 793 18020 2fc2 01 .byte 0x1 18021 2fc3 26300000 .4byte 0x3026 18022 2fc7 07 .uleb128 0x7 18023 2fc8 04080000 .4byte usbd_ioreq.c.cf309e2d+2052 18024 2fcc 4A640000 .4byte .LLST399 18025 2fd0 46640000 .4byte .LVUS399 18026 2fd4 07 .uleb128 0x7 18027 2fd5 10080000 .4byte usbd_ioreq.c.cf309e2d+2064 18028 2fd9 77640000 .4byte .LLST400 18029 2fdd 71640000 .4byte .LVUS400 18030 2fe1 07 .uleb128 0x7 18031 2fe2 1C080000 .4byte usbd_ioreq.c.cf309e2d+2076 18032 2fe6 AF640000 .4byte .LLST401 18033 2fea A9640000 .4byte .LVUS401 18034 2fee 31 .uleb128 0x31 18035 2fef 1C000000 .4byte .LVL597 18036 2ff3 01 .byte 0x1 18037 2ff4 7A290000 .4byte 0x297a 18038 2ff8 0E .uleb128 0xe 18039 2ff9 01 .byte 0x1 18040 2ffa 50 .byte 0x50 18041 2ffb 09 .byte 0x9 18042 2ffc F3 .byte 0xf3 18043 2ffd 03 .uleb128 0x3 18044 2ffe F5 .byte 0xf5 18045 2fff 00 .uleb128 0 18046 3000 29 .uleb128 0x29 18047 3001 F7 .byte 0xf7 18048 3002 30 .uleb128 0x30 18049 3003 F7 .byte 0xf7 18050 3004 00 .uleb128 0 18051 3005 0E .uleb128 0xe 18052 3006 01 .byte 0x1 18053 3007 51 .byte 0x51 18054 3008 01 .byte 0x1 18055 3009 30 .byte 0x30 18056 300a 0E .uleb128 0xe 18057 300b 01 .byte 0x1 18058 300c 52 .byte 0x52 18059 300d 09 .byte 0x9 18060 300e F3 .byte 0xf3 18061 300f 03 .uleb128 0x3 18062 3010 F5 .byte 0xf5 18063 3011 01 .uleb128 0x1 18064 3012 29 .uleb128 0x29 18065 3013 F7 .byte 0xf7 18066 3014 30 .uleb128 0x30 18067 3015 F7 .byte 0xf7 18068 3016 00 .uleb128 0 18069 3017 0E .uleb128 0xe 18070 3018 01 .byte 0x1 18071 3019 53 .byte 0x53 18072 301a 09 .byte 0x9 18073 301b F3 .byte 0xf3 18074 301c 03 .uleb128 0x3 18075 301d F5 .byte 0xf5 18076 301e 02 .uleb128 0x2 ARM GAS /tmp/ccJhhmLc.s page 794 18077 301f 29 .uleb128 0x29 18078 3020 F7 .byte 0xf7 18079 3021 30 .uleb128 0x30 18080 3022 F7 .byte 0xf7 18081 3023 00 .uleb128 0 18082 3024 00 .byte 0 18083 3025 00 .byte 0 18084 3026 2F .uleb128 0x2f 18085 3027 F70C0000 .4byte usbd_core.c.d5df62af+3319 18086 302b 9F020000 .4byte .LASF24 18087 302f 00000000 .4byte .LFB190 18088 3033 08000000 .4byte .LFE190 18089 3037 02 .byte 0x2 18090 3038 7D .byte 0x7d 18091 3039 00 .sleb128 0 18092 303a 01 .byte 0x1 18093 303b 81300000 .4byte 0x3081 18094 303f 07 .uleb128 0x7 18095 3040 0A0D0000 .4byte usbd_core.c.d5df62af+3338 18096 3044 E5640000 .4byte .LLST402 18097 3048 E1640000 .4byte .LVUS402 18098 304c 07 .uleb128 0x7 18099 304d 170D0000 .4byte usbd_core.c.d5df62af+3351 18100 3051 10650000 .4byte .LLST403 18101 3055 0C650000 .4byte .LVUS403 18102 3059 2B .uleb128 0x2b 18103 305a 240D0000 .4byte usbd_core.c.d5df62af+3364 18104 305e 00 .byte 0 18105 305f 34 .uleb128 0x34 18106 3060 08000000 .4byte .LVL599 18107 3064 01 .byte 0x1 18108 3065 0E .uleb128 0xe 18109 3066 01 .byte 0x1 18110 3067 50 .byte 0x50 18111 3068 09 .byte 0x9 18112 3069 F3 .byte 0xf3 18113 306a 03 .uleb128 0x3 18114 306b F5 .byte 0xf5 18115 306c 00 .uleb128 0 18116 306d 29 .uleb128 0x29 18117 306e F7 .byte 0xf7 18118 306f 30 .uleb128 0x30 18119 3070 F7 .byte 0xf7 18120 3071 00 .uleb128 0 18121 3072 0E .uleb128 0xe 18122 3073 01 .byte 0x1 18123 3074 51 .byte 0x51 18124 3075 09 .byte 0x9 18125 3076 F3 .byte 0xf3 18126 3077 03 .uleb128 0x3 18127 3078 F5 .byte 0xf5 18128 3079 01 .uleb128 0x1 18129 307a 29 .uleb128 0x29 18130 307b F7 .byte 0xf7 18131 307c 37 .uleb128 0x37 18132 307d F7 .byte 0xf7 18133 307e 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 795 18134 307f 00 .byte 0 18135 3080 00 .byte 0 18136 3081 2A .uleb128 0x2a 18137 3082 830E0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3715 18138 3086 DF020000 .4byte .LASF25 18139 308a 00000000 .4byte .LFB192 18140 308e 4C000000 .4byte .LFE192 18141 3092 37650000 .4byte .LLST404 18142 3096 01 .byte 0x1 18143 3097 CB300000 .4byte 0x30cb 18144 309b 04 .uleb128 0x4 18145 309c 960E0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3734 18146 30a0 01 .byte 0x1 18147 30a1 50 .byte 0x50 18148 30a2 04 .uleb128 0x4 18149 30a3 A30E0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3747 18150 30a7 01 .byte 0x1 18151 30a8 51 .byte 0x51 18152 30a9 04 .uleb128 0x4 18153 30aa B00E0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3760 18154 30ae 01 .byte 0x1 18155 30af 52 .byte 0x52 18156 30b0 05 .uleb128 0x5 18157 30b1 BD0E0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3773 18158 30b5 59650000 .4byte .LLST405 18159 30b9 57650000 .4byte .LVUS405 18160 30bd 05 .uleb128 0x5 18161 30be CA0E0000 .4byte stm32f4xx_ll_usb.c.b0b15edb+3786 18162 30c2 6E650000 .4byte .LLST406 18163 30c6 6C650000 .4byte .LVUS406 18164 30ca 00 .byte 0 18165 30cb 2A .uleb128 0x2a 18166 30cc 341A0000 .4byte usbd_conf.c.840d1894+6708 18167 30d0 4D030000 .4byte .LASF26 18168 30d4 00000000 .4byte .LFB194 18169 30d8 8E000000 .4byte .LFE194 18170 30dc 81650000 .4byte .LLST407 18171 30e0 01 .byte 0x1 18172 30e1 AF310000 .4byte 0x31af 18173 30e5 07 .uleb128 0x7 18174 30e6 471A0000 .4byte usbd_conf.c.840d1894+6727 18175 30ea A7650000 .4byte .LLST408 18176 30ee A1650000 .4byte .LVUS408 18177 30f2 07 .uleb128 0x7 18178 30f3 541A0000 .4byte usbd_conf.c.840d1894+6740 18179 30f7 E1650000 .4byte .LLST409 18180 30fb D9650000 .4byte .LVUS409 18181 30ff 05 .uleb128 0x5 18182 3100 611A0000 .4byte usbd_conf.c.840d1894+6753 18183 3104 2B660000 .4byte .LLST410 18184 3108 27660000 .4byte .LVUS410 18185 310c 05 .uleb128 0x5 18186 310d 6E1A0000 .4byte usbd_conf.c.840d1894+6766 18187 3111 2B660000 .4byte .LLST410 18188 3115 27660000 .4byte .LVUS410 18189 3119 08 .uleb128 0x8 18190 311a 1F0F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3871 ARM GAS /tmp/ccJhhmLc.s page 796 18191 311e 48080000 .4byte .Ldebug_ranges0+0x848 18192 3122 0D .byte 0xd 18193 3123 0F02 .2byte 0x20f 18194 3125 10 .byte 0x10 18195 3126 07 .uleb128 0x7 18196 3127 320F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3890 18197 312b 4F660000 .4byte .LLST412 18198 312f 4B660000 .4byte .LVUS412 18199 3133 07 .uleb128 0x7 18200 3134 3F0F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3903 18201 3138 75660000 .4byte .LLST413 18202 313c 6D660000 .4byte .LVUS413 18203 3140 0A .uleb128 0xa 18204 3141 48080000 .4byte .Ldebug_ranges0+0x848 18205 3145 05 .uleb128 0x5 18206 3146 4C0F0000 .4byte stm32f4xx_hal_pcd.c.1ede1f70+3916 18207 314a BF660000 .4byte .LLST414 18208 314e BB660000 .4byte .LVUS414 18209 3152 2C .uleb128 0x2c 18210 3153 C9110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4553 18211 3157 60080000 .4byte .Ldebug_ranges0+0x860 18212 315b 0E .byte 0xe 18213 315c 7507 .2byte 0x775 18214 315e 09 .byte 0x9 18215 315f 96310000 .4byte 0x3196 18216 3163 09 .uleb128 0x9 18217 3164 E9110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4585 18218 3168 07 .uleb128 0x7 18219 3169 DC110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4572 18220 316d DF660000 .4byte .LLST415 18221 3171 DD660000 .4byte .LVUS415 18222 3175 0A .uleb128 0xa 18223 3176 60080000 .4byte .Ldebug_ranges0+0x860 18224 317a 05 .uleb128 0x5 18225 317b F5110000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4597 18226 317f DF660000 .4byte .LLST415 18227 3183 DD660000 .4byte .LVUS415 18228 3187 05 .uleb128 0x5 18229 3188 02120000 .4byte stm32f4xx_ll_usb.c.b0b15edb+4610 18230 318c F4660000 .4byte .LLST417 18231 3190 F2660000 .4byte .LVUS417 18232 3194 00 .byte 0 18233 3195 00 .byte 0 18234 3196 0D .uleb128 0xd 18235 3197 74000000 .4byte .LVL611 18236 319b 81300000 .4byte 0x3081 18237 319f 0E .uleb128 0xe 18238 31a0 01 .byte 0x1 18239 31a1 51 .byte 0x51 18240 31a2 02 .byte 0x2 18241 31a3 71 .byte 0x71 18242 31a4 00 .sleb128 0 18243 31a5 0E .uleb128 0xe 18244 31a6 01 .byte 0x1 18245 31a7 52 .byte 0x52 18246 31a8 02 .byte 0x2 18247 31a9 72 .byte 0x72 ARM GAS /tmp/ccJhhmLc.s page 797 18248 31aa 00 .sleb128 0 18249 31ab 00 .byte 0 18250 31ac 00 .byte 0 18251 31ad 00 .byte 0 18252 31ae 00 .byte 0 18253 31af 2A .uleb128 0x2a 18254 31b0 31080000 .4byte usbd_ctlreq.c.815add09+2097 18255 31b4 E3030000 .4byte .LASF27 18256 31b8 00000000 .4byte .LFB199 18257 31bc 16000000 .4byte .LFE199 18258 31c0 07670000 .4byte .LLST418 18259 31c4 01 .byte 0x1 18260 31c5 1B320000 .4byte 0x321b 18261 31c9 07 .uleb128 0x7 18262 31ca 40080000 .4byte usbd_ctlreq.c.815add09+2112 18263 31ce 3B670000 .4byte .LLST419 18264 31d2 33670000 .4byte .LVUS419 18265 31d6 07 .uleb128 0x7 18266 31d7 4D080000 .4byte usbd_ctlreq.c.815add09+2125 18267 31db 7A670000 .4byte .LLST420 18268 31df 78670000 .4byte .LVUS420 18269 31e3 1F .uleb128 0x1f 18270 31e4 0A000000 .4byte .LVL617 18271 31e8 CB300000 .4byte 0x30cb 18272 31ec FD310000 .4byte 0x31fd 18273 31f0 0E .uleb128 0xe 18274 31f1 01 .byte 0x1 18275 31f2 50 .byte 0x50 18276 31f3 02 .byte 0x2 18277 31f4 74 .byte 0x74 18278 31f5 00 .sleb128 0 18279 31f6 0E .uleb128 0xe 18280 31f7 01 .byte 0x1 18281 31f8 51 .byte 0x51 18282 31f9 02 .byte 0x2 18283 31fa 09 .byte 0x9 18284 31fb 80 .byte 0x80 18285 31fc 00 .byte 0 18286 31fd 31 .uleb128 0x31 18287 31fe 16000000 .4byte .LVL619 18288 3202 01 .byte 0x1 18289 3203 CB300000 .4byte 0x30cb 18290 3207 0E .uleb128 0xe 18291 3208 01 .byte 0x1 18292 3209 50 .byte 0x50 18293 320a 09 .byte 0x9 18294 320b F3 .byte 0xf3 18295 320c 03 .uleb128 0x3 18296 320d F5 .byte 0xf5 18297 320e 00 .uleb128 0 18298 320f 29 .uleb128 0x29 18299 3210 F7 .byte 0xf7 18300 3211 30 .uleb128 0x30 18301 3212 F7 .byte 0xf7 18302 3213 00 .uleb128 0 18303 3214 0E .uleb128 0xe 18304 3215 01 .byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 798 18305 3216 51 .byte 0x51 18306 3217 01 .byte 0x1 18307 3218 30 .byte 0x30 18308 3219 00 .byte 0 18309 321a 00 .byte 0 18310 321b 1B .uleb128 0x1b 18311 321c 31080000 .4byte usbd_ctlreq.c.815add09+2097 18312 3220 2A320000 .4byte 0x322a 18313 3224 09 .uleb128 0x9 18314 3225 4D080000 .4byte usbd_ctlreq.c.815add09+2125 18315 3229 00 .byte 0 18316 322a 2A .uleb128 0x2a 18317 322b E0050000 .4byte stm32f4xx_ll_usart.c.7fb17c04+1504 18318 322f C8020000 .4byte .LASF28 18319 3233 00000000 .4byte .LFB201 18320 3237 C8000000 .4byte .LFE201 18321 323b 92670000 .4byte .LLST421 18322 323f 01 .byte 0x1 18323 3240 0E330000 .4byte 0x330e 18324 3244 07 .uleb128 0x7 18325 3245 F2050000 .4byte stm32f4xx_ll_usart.c.7fb17c04+1522 18326 3249 04680000 .4byte .LLST422 18327 324d E2670000 .4byte .LVUS422 18328 3251 2B .uleb128 0x2b 18329 3252 FE050000 .4byte stm32f4xx_ll_usart.c.7fb17c04+1534 18330 3256 00 .byte 0 18331 3257 1F .uleb128 0x1f 18332 3258 0E000000 .4byte .LVL622 18333 325c 0E330000 .4byte 0x330e 18334 3260 6A320000 .4byte 0x326a 18335 3264 0E .uleb128 0xe 18336 3265 01 .byte 0x1 18337 3266 50 .byte 0x50 18338 3267 01 .byte 0x1 18339 3268 40 .byte 0x40 18340 3269 00 .byte 0 18341 326a 1E .uleb128 0x1e 18342 326b 18000000 .4byte .LVL623 18343 326f 01 .byte 0x1 18344 3270 13330000 .4byte 0x3313 18345 3274 1F .uleb128 0x1f 18346 3275 26000000 .4byte .LVL625 18347 3279 18330000 .4byte 0x3318 18348 327d 89320000 .4byte 0x3289 18349 3281 0E .uleb128 0xe 18350 3282 01 .byte 0x1 18351 3283 50 .byte 0x50 18352 3284 03 .byte 0x3 18353 3285 40 .byte 0x40 18354 3286 3D .byte 0x3d 18355 3287 24 .byte 0x24 18356 3288 00 .byte 0 18357 3289 1E .uleb128 0x1e 18358 328a 32000000 .4byte .LVL626 18359 328e 01 .byte 0x1 18360 328f 1D330000 .4byte 0x331d 18361 3293 1F .uleb128 0x1f ARM GAS /tmp/ccJhhmLc.s page 799 18362 3294 40000000 .4byte .LVL628 18363 3298 18330000 .4byte 0x3318 18364 329c A8320000 .4byte 0x32a8 18365 32a0 0E .uleb128 0xe 18366 32a1 01 .byte 0x1 18367 32a2 50 .byte 0x50 18368 32a3 03 .byte 0x3 18369 32a4 40 .byte 0x40 18370 32a5 3E .byte 0x3e 18371 32a6 24 .byte 0x24 18372 32a7 00 .byte 0 18373 32a8 1F .uleb128 0x1f 18374 32a9 52000000 .4byte .LVL631 18375 32ad 0E330000 .4byte 0x330e 18376 32b1 BC320000 .4byte 0x32bc 18377 32b5 0E .uleb128 0xe 18378 32b6 01 .byte 0x1 18379 32b7 50 .byte 0x50 18380 32b8 02 .byte 0x2 18381 32b9 08 .byte 0x8 18382 32ba 20 .byte 0x20 18383 32bb 00 .byte 0 18384 32bc 1F .uleb128 0x1f 18385 32bd 64000000 .4byte .LVL634 18386 32c1 18330000 .4byte 0x3318 18387 32c5 D1320000 .4byte 0x32d1 18388 32c9 0E .uleb128 0xe 18389 32ca 01 .byte 0x1 18390 32cb 50 .byte 0x50 18391 32cc 03 .byte 0x3 18392 32cd 40 .byte 0x40 18393 32ce 3F .byte 0x3f 18394 32cf 24 .byte 0x24 18395 32d0 00 .byte 0 18396 32d1 1F .uleb128 0x1f 18397 32d2 78000000 .4byte .LVL637 18398 32d6 18330000 .4byte 0x3318 18399 32da E6320000 .4byte 0x32e6 18400 32de 0E .uleb128 0xe 18401 32df 01 .byte 0x1 18402 32e0 50 .byte 0x50 18403 32e1 03 .byte 0x3 18404 32e2 40 .byte 0x40 18405 32e3 40 .byte 0x40 18406 32e4 24 .byte 0x24 18407 32e5 00 .byte 0 18408 32e6 1F .uleb128 0x1f 18409 32e7 8C000000 .4byte .LVL640 18410 32eb 18330000 .4byte 0x3318 18411 32ef FB320000 .4byte 0x32fb 18412 32f3 0E .uleb128 0xe 18413 32f4 01 .byte 0x1 18414 32f5 50 .byte 0x50 18415 32f6 03 .byte 0x3 18416 32f7 40 .byte 0x40 18417 32f8 4A .byte 0x4a 18418 32f9 24 .byte 0x24 ARM GAS /tmp/ccJhhmLc.s page 800 18419 32fa 00 .byte 0 18420 32fb 0D .uleb128 0xd 18421 32fc A0000000 .4byte .LVL643 18422 3300 18330000 .4byte 0x3318 18423 3304 0E .uleb128 0xe 18424 3305 01 .byte 0x1 18425 3306 50 .byte 0x50 18426 3307 04 .byte 0x4 18427 3308 40 .byte 0x40 18428 3309 4B .byte 0x4b 18429 330a 24 .byte 0x24 18430 330b 1F .byte 0x1f 18431 330c 00 .byte 0 18432 330d 00 .byte 0 18433 330e 10 .uleb128 0x10 18434 330f 27060000 .4byte stm32f4xx_ll_usart.c.7fb17c04+1575 18435 3313 10 .uleb128 0x10 18436 3314 0B060000 .4byte stm32f4xx_ll_usart.c.7fb17c04+1547 18437 3318 10 .uleb128 0x10 18438 3319 5F060000 .4byte stm32f4xx_ll_usart.c.7fb17c04+1631 18439 331d 10 .uleb128 0x10 18440 331e 43060000 .4byte stm32f4xx_ll_usart.c.7fb17c04+1603 18441 3322 06 .uleb128 0x6 18442 3323 AE190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6574 18443 3327 00000000 .4byte .LFB202 18444 332b B0020000 .4byte .LFE202 18445 332f 0F690000 .4byte .LLST423 18446 3333 01 .byte 0x1 18447 3334 09360000 .4byte 0x3609 18448 3338 07 .uleb128 0x7 18449 3339 C4190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6596 18450 333d 39690000 .4byte .LLST424 18451 3341 2F690000 .4byte .LVUS424 18452 3345 07 .uleb128 0x7 18453 3346 D1190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6609 18454 334a 92690000 .4byte .LLST425 18455 334e 8A690000 .4byte .LVUS425 18456 3352 07 .uleb128 0x7 18457 3353 DE190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6622 18458 3357 E4690000 .4byte .LLST426 18459 335b D8690000 .4byte .LVUS426 18460 335f 05 .uleb128 0x5 18461 3360 EB190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6635 18462 3364 426A0000 .4byte .LLST427 18463 3368 406A0000 .4byte .LVUS427 18464 336c 05 .uleb128 0x5 18465 336d F8190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6648 18466 3371 5B6A0000 .4byte .LLST428 18467 3375 556A0000 .4byte .LVUS428 18468 3379 05 .uleb128 0x5 18469 337a 031A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6659 18470 337e AE6A0000 .4byte .LLST429 18471 3382 AC6A0000 .4byte .LVUS429 18472 3386 18 .uleb128 0x18 18473 3387 C91A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6857 18474 338b 00000000 .4byte .LBI873 18475 338f 0200 .2byte .LVU2858 ARM GAS /tmp/ccJhhmLc.s page 801 18476 3391 78080000 .4byte .Ldebug_ranges0+0x878 18477 3395 03 .byte 0x3 18478 3396 DA01 .2byte 0x1da 18479 3398 1C .byte 0x1c 18480 3399 AB330000 .4byte 0x33ab 18481 339d 07 .uleb128 0x7 18482 339e D91A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6873 18483 33a2 C96A0000 .4byte .LLST430 18484 33a6 C36A0000 .4byte .LVUS430 18485 33aa 00 .byte 0 18486 33ab 18 .uleb128 0x18 18487 33ac 361A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6710 18488 33b0 52000000 .4byte .LBI885 18489 33b4 0100 .2byte .LVU2902 18490 33b6 B0080000 .4byte .Ldebug_ranges0+0x8b0 18491 33ba 03 .byte 0x3 18492 33bb FD01 .2byte 0x1fd 18493 33bd 14 .byte 0x14 18494 33be 86340000 .4byte 0x3486 18495 33c2 07 .uleb128 0x7 18496 33c3 471A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6727 18497 33c7 F46A0000 .4byte .LLST431 18498 33cb F26A0000 .4byte .LVUS431 18499 33cf 1F .uleb128 0x1f 18500 33d0 58000000 .4byte .LVL653 18501 33d4 09360000 .4byte 0x3609 18502 33d8 E3330000 .4byte 0x33e3 18503 33dc 0E .uleb128 0xe 18504 33dd 01 .byte 0x1 18505 33de 50 .byte 0x50 18506 33df 02 .byte 0x2 18507 33e0 77 .byte 0x77 18508 33e1 00 .sleb128 0 18509 33e2 00 .byte 0 18510 33e3 1F .uleb128 0x1f 18511 33e4 62000000 .4byte .LVL654 18512 33e8 0E360000 .4byte 0x360e 18513 33ec 01340000 .4byte 0x3401 18514 33f0 0E .uleb128 0xe 18515 33f1 01 .byte 0x1 18516 33f2 50 .byte 0x50 18517 33f3 02 .byte 0x2 18518 33f4 77 .byte 0x77 18519 33f5 00 .sleb128 0 18520 33f6 0E .uleb128 0xe 18521 33f7 01 .byte 0x1 18522 33f8 51 .byte 0x51 18523 33f9 01 .byte 0x1 18524 33fa 45 .byte 0x45 18525 33fb 0E .uleb128 0xe 18526 33fc 01 .byte 0x1 18527 33fd 52 .byte 0x52 18528 33fe 01 .byte 0x1 18529 33ff 31 .byte 0x31 18530 3400 00 .byte 0 18531 3401 1F .uleb128 0x1f 18532 3402 6E000000 .4byte .LVL655 ARM GAS /tmp/ccJhhmLc.s page 802 18533 3406 13360000 .4byte 0x3613 18534 340a 1B340000 .4byte 0x341b 18535 340e 0E .uleb128 0xe 18536 340f 01 .byte 0x1 18537 3410 50 .byte 0x50 18538 3411 02 .byte 0x2 18539 3412 77 .byte 0x77 18540 3413 00 .sleb128 0 18541 3414 0E .uleb128 0xe 18542 3415 01 .byte 0x1 18543 3416 51 .byte 0x51 18544 3417 02 .byte 0x2 18545 3418 78 .byte 0x78 18546 3419 00 .sleb128 0 18547 341a 00 .byte 0 18548 341b 1F .uleb128 0x1f 18549 341c 76000000 .4byte .LVL656 18550 3420 09360000 .4byte 0x3609 18551 3424 2F340000 .4byte 0x342f 18552 3428 0E .uleb128 0xe 18553 3429 01 .byte 0x1 18554 342a 50 .byte 0x50 18555 342b 02 .byte 0x2 18556 342c 77 .byte 0x77 18557 342d 00 .sleb128 0 18558 342e 00 .byte 0 18559 342f 1F .uleb128 0x1f 18560 3430 80000000 .4byte .LVL657 18561 3434 0E360000 .4byte 0x360e 18562 3438 4D340000 .4byte 0x344d 18563 343c 0E .uleb128 0xe 18564 343d 01 .byte 0x1 18565 343e 50 .byte 0x50 18566 343f 02 .byte 0x2 18567 3440 77 .byte 0x77 18568 3441 00 .sleb128 0 18569 3442 0E .uleb128 0xe 18570 3443 01 .byte 0x1 18571 3444 51 .byte 0x51 18572 3445 01 .byte 0x1 18573 3446 45 .byte 0x45 18574 3447 0E .uleb128 0xe 18575 3448 01 .byte 0x1 18576 3449 52 .byte 0x52 18577 344a 01 .byte 0x1 18578 344b 31 .byte 0x31 18579 344c 00 .byte 0 18580 344d 1F .uleb128 0x1f 18581 344e 88000000 .4byte .LVL658 18582 3452 13360000 .4byte 0x3613 18583 3456 67340000 .4byte 0x3467 18584 345a 0E .uleb128 0xe 18585 345b 01 .byte 0x1 18586 345c 50 .byte 0x50 18587 345d 02 .byte 0x2 18588 345e 77 .byte 0x77 18589 345f 00 .sleb128 0 ARM GAS /tmp/ccJhhmLc.s page 803 18590 3460 0E .uleb128 0xe 18591 3461 01 .byte 0x1 18592 3462 51 .byte 0x51 18593 3463 02 .byte 0x2 18594 3464 78 .byte 0x78 18595 3465 00 .sleb128 0 18596 3466 00 .byte 0 18597 3467 21 .uleb128 0x21 18598 3468 90000000 .4byte .LVL659 18599 346c 76340000 .4byte 0x3476 18600 3470 0E .uleb128 0xe 18601 3471 01 .byte 0x1 18602 3472 50 .byte 0x50 18603 3473 01 .byte 0x1 18604 3474 31 .byte 0x31 18605 3475 00 .byte 0 18606 3476 0D .uleb128 0xd 18607 3477 96000000 .4byte .LVL660 18608 347b FD1E0000 .4byte 0x1efd 18609 347f 0E .uleb128 0xe 18610 3480 01 .byte 0x1 18611 3481 50 .byte 0x50 18612 3482 01 .byte 0x1 18613 3483 44 .byte 0x44 18614 3484 00 .byte 0 18615 3485 00 .byte 0 18616 3486 18 .uleb128 0x18 18617 3487 741A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6772 18618 348b 98000000 .4byte .LBI889 18619 348f 0000 .2byte .LVU2917 18620 3491 C8080000 .4byte .Ldebug_ranges0+0x8c8 18621 3495 03 .byte 0x3 18622 3496 0202 .2byte 0x202 18623 3498 17 .byte 0x17 18624 3499 B4340000 .4byte 0x34b4 18625 349d 07 .uleb128 0x7 18626 349e 851A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6789 18627 34a2 0D6B0000 .4byte .LLST432 18628 34a6 076B0000 .4byte .LVUS432 18629 34aa 0F .uleb128 0xf 18630 34ab A6000000 .4byte .LVL662 18631 34af 18360000 .4byte 0x3618 18632 34b3 00 .byte 0 18633 34b4 18 .uleb128 0x18 18634 34b5 AB1E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7851 18635 34b9 A6000000 .4byte .LBI892 18636 34bd 0200 .2byte .LVU2924 18637 34bf E0080000 .4byte .Ldebug_ranges0+0x8e0 18638 34c3 03 .byte 0x3 18639 34c4 0702 .2byte 0x207 18640 34c6 13 .byte 0x13 18641 34c7 24350000 .4byte 0x3524 18642 34cb 07 .uleb128 0x7 18643 34cc BA1E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7866 18644 34d0 3E6B0000 .4byte .LLST433 18645 34d4 366B0000 .4byte .LVUS433 18646 34d8 0A .uleb128 0xa ARM GAS /tmp/ccJhhmLc.s page 804 18647 34d9 E0080000 .4byte .Ldebug_ranges0+0x8e0 18648 34dd 05 .uleb128 0x5 18649 34de C71E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7879 18650 34e2 AF6B0000 .4byte .LLST434 18651 34e6 A56B0000 .4byte .LVUS434 18652 34ea 05 .uleb128 0x5 18653 34eb D41E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7892 18654 34ef 306C0000 .4byte .LLST435 18655 34f3 266C0000 .4byte .LVUS435 18656 34f7 19 .uleb128 0x19 18657 34f8 CD070000 .4byte stm32f4xx_hal_rcc.c.c5f67773+1997 18658 34fc E0000000 .4byte .LBI894 18659 3500 0100 .2byte .LVU2955 18660 3502 00090000 .4byte .Ldebug_ranges0+0x900 18661 3506 0A .byte 0xa 18662 3507 F201 .2byte 0x1f2 18663 3509 0B .byte 0xb 18664 350a 35 .uleb128 0x35 18665 350b DC070000 .4byte stm32f4xx_hal_rcc.c.c5f67773+2012 18666 350f E0000000 .4byte .LBI896 18667 3513 0300 .2byte .LVU2957 18668 3515 E0000000 .4byte .LBB896 18669 3519 E0000000 .4byte .LBE896 18670 351d 17 .byte 0x17 18671 351e BD03 .2byte 0x3bd 18672 3520 0B .byte 0xb 18673 3521 00 .byte 0 18674 3522 00 .byte 0 18675 3523 00 .byte 0 18676 3524 16 .uleb128 0x16 18677 3525 EA060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1770 18678 3529 D8010000 .4byte .LBI904 18679 352d 0300 .2byte .LVU3019 18680 352f D8010000 .4byte .LBB904 18681 3533 0A020000 .4byte .LBE904 18682 3537 03 .byte 0x3 18683 3538 0F02 .2byte 0x20f 18684 353a 23 .byte 0x23 18685 353b 8B350000 .4byte 0x358b 18686 353f 07 .uleb128 0x7 18687 3540 04070000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1796 18688 3544 776C0000 .4byte .LLST436 18689 3548 756C0000 .4byte .LVUS436 18690 354c 07 .uleb128 0x7 18691 354d F8060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1784 18692 3551 8D6C0000 .4byte .LLST437 18693 3555 8B6C0000 .4byte .LVUS437 18694 3559 36 .uleb128 0x36 18695 355a EA060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1770 18696 355e E4010000 .4byte .LBI906 18697 3562 0000 .2byte .LVU3024 18698 3564 E4010000 .4byte .LBB906 18699 3568 0A020000 .4byte .LBE906 18700 356c 18 .byte 0x18 18701 356d 59 .byte 0x59 18702 356e 13 .byte 0x13 18703 356f 07 .uleb128 0x7 ARM GAS /tmp/ccJhhmLc.s page 805 18704 3570 04070000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1796 18705 3574 B46C0000 .4byte .LLST438 18706 3578 B26C0000 .4byte .LVUS438 18707 357c 07 .uleb128 0x7 18708 357d F8060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1784 18709 3581 CA6C0000 .4byte .LLST439 18710 3585 C86C0000 .4byte .LVUS439 18711 3589 00 .byte 0 18712 358a 00 .byte 0 18713 358b 17 .uleb128 0x17 18714 358c AD060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1709 18715 3590 0A020000 .4byte .LBI908 18716 3594 0200 .2byte .LVU3035 18717 3596 0A020000 .4byte .LBB908 18718 359a 38020000 .4byte .LBE908 18719 359e 03 .byte 0x3 18720 359f 1502 .2byte 0x215 18721 35a1 24 .byte 0x24 18722 35a2 07 .uleb128 0x7 18723 35a3 CB060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1739 18724 35a7 F16C0000 .4byte .LLST440 18725 35ab EF6C0000 .4byte .LVUS440 18726 35af 07 .uleb128 0x7 18727 35b0 BF060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1727 18728 35b4 076D0000 .4byte .LLST441 18729 35b8 056D0000 .4byte .LVUS441 18730 35bc 05 .uleb128 0x5 18731 35bd D7060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1751 18732 35c1 2E6D0000 .4byte .LLST442 18733 35c5 2C6D0000 .4byte .LVUS442 18734 35c9 36 .uleb128 0x36 18735 35ca AD060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1709 18736 35ce 16020000 .4byte .LBI910 18737 35d2 0000 .2byte .LVU3040 18738 35d4 16020000 .4byte .LBB910 18739 35d8 38020000 .4byte .LBE910 18740 35dc 18 .byte 0x18 18741 35dd 7F .byte 0x7f 18742 35de 13 .byte 0x13 18743 35df 07 .uleb128 0x7 18744 35e0 CB060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1739 18745 35e4 446D0000 .4byte .LLST443 18746 35e8 426D0000 .4byte .LVUS443 18747 35ec 07 .uleb128 0x7 18748 35ed BF060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1727 18749 35f1 5A6D0000 .4byte .LLST444 18750 35f5 586D0000 .4byte .LVUS444 18751 35f9 05 .uleb128 0x5 18752 35fa D7060000 .4byte stm32f4xx_hal_i2c_ex.c.fc3d998d+1751 18753 35fe 816D0000 .4byte .LLST445 18754 3602 7F6D0000 .4byte .LVUS445 18755 3606 00 .byte 0 18756 3607 00 .byte 0 18757 3608 00 .byte 0 18758 3609 10 .uleb128 0x10 18759 360a 6F060000 .4byte stm32_gpio.cpp.86c86977+1647 18760 360e 10 .uleb128 0x10 ARM GAS /tmp/ccJhhmLc.s page 806 18761 360f 18080000 .4byte stm32_gpio.cpp.86c86977+2072 18762 3613 10 .uleb128 0x10 18763 3614 07070000 .4byte stm32_gpio.cpp.86c86977+1799 18764 3618 10 .uleb128 0x10 18765 3619 961B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7062 18766 361d 06 .uleb128 0x6 18767 361e 6C190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6508 18768 3622 00000000 .4byte .LFB216 18769 3626 A8000000 .4byte .LFE216 18770 362a 996D0000 .4byte .LLST446 18771 362e 01 .byte 0x1 18772 362f 92370000 .4byte 0x3792 18773 3633 07 .uleb128 0x7 18774 3634 82190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6530 18775 3638 C16D0000 .4byte .LLST447 18776 363c B96D0000 .4byte .LVUS447 18777 3640 05 .uleb128 0x5 18778 3641 8F190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6543 18779 3645 F96D0000 .4byte .LLST448 18780 3649 F56D0000 .4byte .LVUS448 18781 364d 05 .uleb128 0x5 18782 364e 9A190000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6554 18783 3652 246E0000 .4byte .LLST449 18784 3656 226E0000 .4byte .LVUS449 18785 365a 18 .uleb128 0x18 18786 365b AC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6828 18787 365f 00000000 .4byte .LBI927 18788 3663 0200 .2byte .LVU3067 18789 3665 18090000 .4byte .Ldebug_ranges0+0x918 18790 3669 03 .byte 0x3 18791 366a 2302 .2byte 0x223 18792 366c 28 .byte 0x28 18793 366d 7F360000 .4byte 0x367f 18794 3671 07 .uleb128 0x7 18795 3672 BC1A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6844 18796 3676 486E0000 .4byte .LLST450 18797 367a 426E0000 .4byte .LVUS450 18798 367e 00 .byte 0 18799 367f 18 .uleb128 0x18 18800 3680 8A1E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7818 18801 3684 0E000000 .4byte .LBI933 18802 3688 0400 .2byte .LVU3079 18803 368a 38090000 .4byte .Ldebug_ranges0+0x938 18804 368e 03 .byte 0x3 18805 368f 2602 .2byte 0x226 18806 3691 15 .byte 0x15 18807 3692 C5360000 .4byte 0x36c5 18808 3696 07 .uleb128 0x7 18809 3697 9D1E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7837 18810 369b 7E6E0000 .4byte .LLST451 18811 369f 7A6E0000 .4byte .LVUS451 18812 36a3 19 .uleb128 0x19 18813 36a4 8A1E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7818 18814 36a8 0E000000 .4byte .LBI934 18815 36ac 0600 .2byte .LVU3081 18816 36ae 38090000 .4byte .Ldebug_ranges0+0x938 18817 36b2 0A .byte 0xa ARM GAS /tmp/ccJhhmLc.s page 807 18818 36b3 2602 .2byte 0x226 18819 36b5 13 .byte 0x13 18820 36b6 07 .uleb128 0x7 18821 36b7 9D1E0000 .4byte stm32f4xx_hal_i2c.c.217f0a5d+7837 18822 36bb AB6E0000 .4byte .LLST452 18823 36bf A76E0000 .4byte .LVUS452 18824 36c3 00 .byte 0 18825 36c4 00 .byte 0 18826 36c5 18 .uleb128 0x18 18827 36c6 551A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6741 18828 36ca 4A000000 .4byte .LBI948 18829 36ce 0000 .2byte .LVU3115 18830 36d0 68090000 .4byte .Ldebug_ranges0+0x968 18831 36d4 03 .byte 0x3 18832 36d5 2A02 .2byte 0x22a 18833 36d7 18 .byte 0x18 18834 36d8 F3360000 .4byte 0x36f3 18835 36dc 07 .uleb128 0x7 18836 36dd 661A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6758 18837 36e1 D86E0000 .4byte .LLST453 18838 36e5 D46E0000 .4byte .LVUS453 18839 36e9 0F .uleb128 0xf 18840 36ea 58000000 .4byte .LVL693 18841 36ee 92370000 .4byte 0x3792 18842 36f2 00 .byte 0 18843 36f3 16 .uleb128 0x16 18844 36f4 C91A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6857 18845 36f8 58000000 .4byte .LBI951 18846 36fc 0200 .2byte .LVU3122 18847 36fe 58000000 .4byte .LBB951 18848 3702 58000000 .4byte .LBE951 18849 3706 03 .byte 0x3 18850 3707 2F02 .2byte 0x22f 18851 3709 1C .byte 0x1c 18852 370a 1C370000 .4byte 0x371c 18853 370e 07 .uleb128 0x7 18854 370f D91A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6873 18855 3713 F86E0000 .4byte .LLST454 18856 3717 F66E0000 .4byte .LVUS454 18857 371b 00 .byte 0 18858 371c 18 .uleb128 0x18 18859 371d 171A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6679 18860 3721 62000000 .4byte .LBI952 18861 3725 0000 .2byte .LVU3131 18862 3727 80090000 .4byte .Ldebug_ranges0+0x980 18863 372b 03 .byte 0x3 18864 372c 3202 .2byte 0x232 18865 372e 12 .byte 0x12 18866 372f 7C370000 .4byte 0x377c 18867 3733 07 .uleb128 0x7 18868 3734 281A0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+6696 18869 3738 0D6F0000 .4byte .LLST455 18870 373c 0B6F0000 .4byte .LVUS455 18871 3740 1F .uleb128 0x1f 18872 3741 6A000000 .4byte .LVL695 18873 3745 0E360000 .4byte 0x360e 18874 3749 58370000 .4byte 0x3758 ARM GAS /tmp/ccJhhmLc.s page 808 18875 374d 0E .uleb128 0xe 18876 374e 01 .byte 0x1 18877 374f 51 .byte 0x51 18878 3750 01 .byte 0x1 18879 3751 30 .byte 0x30 18880 3752 0E .uleb128 0xe 18881 3753 01 .byte 0x1 18882 3754 52 .byte 0x52 18883 3755 01 .byte 0x1 18884 3756 30 .byte 0x30 18885 3757 00 .byte 0 18886 3758 1F .uleb128 0x1f 18887 3759 74000000 .4byte .LVL696 18888 375d 0E360000 .4byte 0x360e 18889 3761 70370000 .4byte 0x3770 18890 3765 0E .uleb128 0xe 18891 3766 01 .byte 0x1 18892 3767 51 .byte 0x51 18893 3768 01 .byte 0x1 18894 3769 30 .byte 0x30 18895 376a 0E .uleb128 0xe 18896 376b 01 .byte 0x1 18897 376c 52 .byte 0x52 18898 376d 01 .byte 0x1 18899 376e 30 .byte 0x30 18900 376f 00 .byte 0 18901 3770 23 .uleb128 0x23 18902 3771 7C000000 .4byte .LVL697 18903 3775 0E .uleb128 0xe 18904 3776 01 .byte 0x1 18905 3777 50 .byte 0x50 18906 3778 01 .byte 0x1 18907 3779 30 .byte 0x30 18908 377a 00 .byte 0 18909 377b 00 .byte 0 18910 377c 0D .uleb128 0xd 18911 377d 48000000 .4byte .LVL691 18912 3781 E8370000 .4byte 0x37e8 18913 3785 0E .uleb128 0xe 18914 3786 01 .byte 0x1 18915 3787 51 .byte 0x51 18916 3788 01 .byte 0x1 18917 3789 30 .byte 0x30 18918 378a 0E .uleb128 0xe 18919 378b 01 .byte 0x1 18920 378c 52 .byte 0x52 18921 378d 02 .byte 0x2 18922 378e 08 .byte 0x8 18923 378f 20 .byte 0x20 18924 3790 00 .byte 0 18925 3791 00 .byte 0 18926 3792 10 .uleb128 0x10 18927 3793 7B1B0000 .4byte stm32_i2c_driver.cpp.a7a5aee7+7035 18928 3797 20 .uleb128 0x20 18929 3798 0C070000 .4byte stm32f4xx_hal.c.95118953+1804 18930 379c 05 .byte 0x5 18931 379d 03 .byte 0x3 ARM GAS /tmp/ccJhhmLc.s page 809 18932 379e 00000000 .4byte uwTick 18933 37a2 20 .uleb128 0x20 18934 37a3 F6140000 .4byte usbd_cdc.cpp.d1b71311+5366 18935 37a7 05 .byte 0x5 18936 37a8 03 .byte 0x3 18937 37a9 00000000 .4byte _ZL15usbSerialDriver 18938 37ad 20 .uleb128 0x20 18939 37ae 03150000 .4byte usbd_cdc.cpp.d1b71311+5379 18940 37b2 05 .byte 0x5 18941 37b3 03 .byte 0x3 18942 37b4 00000000 .4byte UsbSerialPort 18943 37b8 20 .uleb128 0x20 18944 37b9 64140000 .4byte stm32_i2c_driver.cpp.a7a5aee7+5220 18945 37bd 05 .byte 0x5 18946 37be 03 .byte 0x3 18947 37bf 00000000 .4byte _ZL9_i2c_devs 18948 37c3 20 .uleb128 0x20 18949 37c4 C1150000 .4byte diskio_sdio.cpp.13d9822e+5569 18950 37c8 05 .byte 0x5 18951 37c9 03 .byte 0x3 18952 37ca 00000000 .4byte _ZL7scratch 18953 37ce 37 .uleb128 0x37 18954 37cf 01 .byte 0x1 18955 37d0 01 .byte 0x1 18956 37d1 F7020000 .4byte .LASF29 18957 37d5 3C030000 .4byte .LASF31 18958 37d9 19 .byte 0x19 18959 37da 00 .byte 0 18960 37db 37 .uleb128 0x37 18961 37dc 01 .byte 0x1 18962 37dd 01 .byte 0x1 18963 37de 00000000 .4byte .LASF30 18964 37e2 77030000 .4byte .LASF32 18965 37e6 19 .byte 0x19 18966 37e7 00 .byte 0 18967 37e8 37 .uleb128 0x37 18968 37e9 01 .byte 0x1 18969 37ea 01 .byte 0x1 18970 37eb DC030000 .4byte .LASF33 18971 37ef 3D000000 .4byte .LASF34 18972 37f3 19 .byte 0x19 18973 37f4 00 .byte 0 18974 37f5 00 .byte 0 18975 .section .debug_abbrev,"",%progbits 18976 .Ldebug_abbrev0: 18977 0000 01 .uleb128 0x1 18978 0001 11 .uleb128 0x11 18979 0002 01 .byte 0x1 18980 0003 25 .uleb128 0x25 18981 0004 0E .uleb128 0xe 18982 0005 13 .uleb128 0x13 18983 0006 0B .uleb128 0xb 18984 0007 03 .uleb128 0x3 18985 0008 0E .uleb128 0xe 18986 0009 1B .uleb128 0x1b 18987 000a 0E .uleb128 0xe 18988 000b 55 .uleb128 0x55 ARM GAS /tmp/ccJhhmLc.s page 810 18989 000c 06 .uleb128 0x6 18990 000d 11 .uleb128 0x11 18991 000e 01 .uleb128 0x1 18992 000f 52 .uleb128 0x52 18993 0010 01 .uleb128 0x1 18994 0011 10 .uleb128 0x10 18995 0012 06 .uleb128 0x6 18996 0013 00 .byte 0 18997 0014 00 .byte 0 18998 0015 02 .uleb128 0x2 18999 0016 24 .uleb128 0x24 19000 0017 00 .byte 0 19001 0018 0B .uleb128 0xb 19002 0019 0B .uleb128 0xb 19003 001a 3E .uleb128 0x3e 19004 001b 0B .uleb128 0xb 19005 001c 03 .uleb128 0x3 19006 001d 0E .uleb128 0xe 19007 001e 00 .byte 0 19008 001f 00 .byte 0 19009 0020 03 .uleb128 0x3 19010 0021 2E .uleb128 0x2e 19011 0022 01 .byte 0x1 19012 0023 31 .uleb128 0x31 19013 0024 10 .uleb128 0x10 19014 0025 11 .uleb128 0x11 19015 0026 01 .uleb128 0x1 19016 0027 12 .uleb128 0x12 19017 0028 01 .uleb128 0x1 19018 0029 40 .uleb128 0x40 19019 002a 0A .uleb128 0xa 19020 002b 9742 .uleb128 0x2117 19021 002d 0C .uleb128 0xc 19022 002e 01 .uleb128 0x1 19023 002f 13 .uleb128 0x13 19024 0030 00 .byte 0 19025 0031 00 .byte 0 19026 0032 04 .uleb128 0x4 19027 0033 05 .uleb128 0x5 19028 0034 00 .byte 0 19029 0035 31 .uleb128 0x31 19030 0036 10 .uleb128 0x10 19031 0037 02 .uleb128 0x2 19032 0038 0A .uleb128 0xa 19033 0039 00 .byte 0 19034 003a 00 .byte 0 19035 003b 05 .uleb128 0x5 19036 003c 34 .uleb128 0x34 19037 003d 00 .byte 0 19038 003e 31 .uleb128 0x31 19039 003f 10 .uleb128 0x10 19040 0040 02 .uleb128 0x2 19041 0041 06 .uleb128 0x6 19042 0042 B742 .uleb128 0x2137 19043 0044 06 .uleb128 0x6 19044 0045 00 .byte 0 19045 0046 00 .byte 0 ARM GAS /tmp/ccJhhmLc.s page 811 19046 0047 06 .uleb128 0x6 19047 0048 2E .uleb128 0x2e 19048 0049 01 .byte 0x1 19049 004a 31 .uleb128 0x31 19050 004b 10 .uleb128 0x10 19051 004c 11 .uleb128 0x11 19052 004d 01 .uleb128 0x1 19053 004e 12 .uleb128 0x12 19054 004f 01 .uleb128 0x1 19055 0050 40 .uleb128 0x40 19056 0051 06 .uleb128 0x6 19057 0052 9742 .uleb128 0x2117 19058 0054 0C .uleb128 0xc 19059 0055 01 .uleb128 0x1 19060 0056 13 .uleb128 0x13 19061 0057 00 .byte 0 19062 0058 00 .byte 0 19063 0059 07 .uleb128 0x7 19064 005a 05 .uleb128 0x5 19065 005b 00 .byte 0 19066 005c 31 .uleb128 0x31 19067 005d 10 .uleb128 0x10 19068 005e 02 .uleb128 0x2 19069 005f 06 .uleb128 0x6 19070 0060 B742 .uleb128 0x2137 19071 0062 06 .uleb128 0x6 19072 0063 00 .byte 0 19073 0064 00 .byte 0 19074 0065 08 .uleb128 0x8 19075 0066 1D .uleb128 0x1d 19076 0067 01 .byte 0x1 19077 0068 31 .uleb128 0x31 19078 0069 10 .uleb128 0x10 19079 006a 55 .uleb128 0x55 19080 006b 06 .uleb128 0x6 19081 006c 58 .uleb128 0x58 19082 006d 0B .uleb128 0xb 19083 006e 59 .uleb128 0x59 19084 006f 05 .uleb128 0x5 19085 0070 57 .uleb128 0x57 19086 0071 0B .uleb128 0xb 19087 0072 00 .byte 0 19088 0073 00 .byte 0 19089 0074 09 .uleb128 0x9 19090 0075 05 .uleb128 0x5 19091 0076 00 .byte 0 19092 0077 31 .uleb128 0x31 19093 0078 10 .uleb128 0x10 19094 0079 00 .byte 0 19095 007a 00 .byte 0 19096 007b 0A .uleb128 0xa 19097 007c 0B .uleb128 0xb 19098 007d 01 .byte 0x1 19099 007e 55 .uleb128 0x55 19100 007f 06 .uleb128 0x6 19101 0080 00 .byte 0 19102 0081 00 .byte 0 ARM GAS /tmp/ccJhhmLc.s page 812 19103 0082 0B .uleb128 0xb 19104 0083 34 .uleb128 0x34 19105 0084 00 .byte 0 19106 0085 31 .uleb128 0x31 19107 0086 10 .uleb128 0x10 19108 0087 00 .byte 0 19109 0088 00 .byte 0 19110 0089 0C .uleb128 0xc 19111 008a 1D .uleb128 0x1d 19112 008b 01 .byte 0x1 19113 008c 31 .uleb128 0x31 19114 008d 10 .uleb128 0x10 19115 008e 52 .uleb128 0x52 19116 008f 01 .uleb128 0x1 19117 0090 B842 .uleb128 0x2138 19118 0092 05 .uleb128 0x5 19119 0093 11 .uleb128 0x11 19120 0094 01 .uleb128 0x1 19121 0095 12 .uleb128 0x12 19122 0096 01 .uleb128 0x1 19123 0097 58 .uleb128 0x58 19124 0098 0B .uleb128 0xb 19125 0099 59 .uleb128 0x59 19126 009a 0B .uleb128 0xb 19127 009b 57 .uleb128 0x57 19128 009c 0B .uleb128 0xb 19129 009d 01 .uleb128 0x1 19130 009e 13 .uleb128 0x13 19131 009f 00 .byte 0 19132 00a0 00 .byte 0 19133 00a1 0D .uleb128 0xd 19134 00a2 898201 .uleb128 0x4109 19135 00a5 01 .byte 0x1 19136 00a6 11 .uleb128 0x11 19137 00a7 01 .uleb128 0x1 19138 00a8 31 .uleb128 0x31 19139 00a9 13 .uleb128 0x13 19140 00aa 00 .byte 0 19141 00ab 00 .byte 0 19142 00ac 0E .uleb128 0xe 19143 00ad 8A8201 .uleb128 0x410a 19144 00b0 00 .byte 0 19145 00b1 02 .uleb128 0x2 19146 00b2 0A .uleb128 0xa 19147 00b3 9142 .uleb128 0x2111 19148 00b5 0A .uleb128 0xa 19149 00b6 00 .byte 0 19150 00b7 00 .byte 0 19151 00b8 0F .uleb128 0xf 19152 00b9 898201 .uleb128 0x4109 19153 00bc 00 .byte 0 19154 00bd 11 .uleb128 0x11 19155 00be 01 .uleb128 0x1 19156 00bf 31 .uleb128 0x31 19157 00c0 13 .uleb128 0x13 19158 00c1 00 .byte 0 19159 00c2 00 .byte 0 ARM GAS /tmp/ccJhhmLc.s page 813 19160 00c3 10 .uleb128 0x10 19161 00c4 2E .uleb128 0x2e 19162 00c5 00 .byte 0 19163 00c6 31 .uleb128 0x31 19164 00c7 10 .uleb128 0x10 19165 00c8 00 .byte 0 19166 00c9 00 .byte 0 19167 00ca 11 .uleb128 0x11 19168 00cb 05 .uleb128 0x5 19169 00cc 00 .byte 0 19170 00cd 31 .uleb128 0x31 19171 00ce 10 .uleb128 0x10 19172 00cf 1C .uleb128 0x1c 19173 00d0 05 .uleb128 0x5 19174 00d1 00 .byte 0 19175 00d2 00 .byte 0 19176 00d3 12 .uleb128 0x12 19177 00d4 1D .uleb128 0x1d 19178 00d5 01 .byte 0x1 19179 00d6 31 .uleb128 0x31 19180 00d7 10 .uleb128 0x10 19181 00d8 11 .uleb128 0x11 19182 00d9 01 .uleb128 0x1 19183 00da 12 .uleb128 0x12 19184 00db 01 .uleb128 0x1 19185 00dc 58 .uleb128 0x58 19186 00dd 0B .uleb128 0xb 19187 00de 59 .uleb128 0x59 19188 00df 05 .uleb128 0x5 19189 00e0 57 .uleb128 0x57 19190 00e1 0B .uleb128 0xb 19191 00e2 01 .uleb128 0x1 19192 00e3 13 .uleb128 0x13 19193 00e4 00 .byte 0 19194 00e5 00 .byte 0 19195 00e6 13 .uleb128 0x13 19196 00e7 1D .uleb128 0x1d 19197 00e8 00 .byte 0 19198 00e9 31 .uleb128 0x31 19199 00ea 10 .uleb128 0x10 19200 00eb 11 .uleb128 0x11 19201 00ec 01 .uleb128 0x1 19202 00ed 12 .uleb128 0x12 19203 00ee 01 .uleb128 0x1 19204 00ef 58 .uleb128 0x58 19205 00f0 0B .uleb128 0xb 19206 00f1 59 .uleb128 0x59 19207 00f2 0B .uleb128 0xb 19208 00f3 57 .uleb128 0x57 19209 00f4 0B .uleb128 0xb 19210 00f5 00 .byte 0 19211 00f6 00 .byte 0 19212 00f7 14 .uleb128 0x14 19213 00f8 0B .uleb128 0xb 19214 00f9 01 .byte 0x1 19215 00fa 31 .uleb128 0x31 19216 00fb 10 .uleb128 0x10 ARM GAS /tmp/ccJhhmLc.s page 814 19217 00fc 55 .uleb128 0x55 19218 00fd 06 .uleb128 0x6 19219 00fe 00 .byte 0 19220 00ff 00 .byte 0 19221 0100 15 .uleb128 0x15 19222 0101 8A8201 .uleb128 0x410a 19223 0104 00 .byte 0 19224 0105 02 .uleb128 0x2 19225 0106 0A .uleb128 0xa 19226 0107 00 .byte 0 19227 0108 00 .byte 0 19228 0109 16 .uleb128 0x16 19229 010a 1D .uleb128 0x1d 19230 010b 01 .byte 0x1 19231 010c 31 .uleb128 0x31 19232 010d 10 .uleb128 0x10 19233 010e 52 .uleb128 0x52 19234 010f 01 .uleb128 0x1 19235 0110 B842 .uleb128 0x2138 19236 0112 05 .uleb128 0x5 19237 0113 11 .uleb128 0x11 19238 0114 01 .uleb128 0x1 19239 0115 12 .uleb128 0x12 19240 0116 01 .uleb128 0x1 19241 0117 58 .uleb128 0x58 19242 0118 0B .uleb128 0xb 19243 0119 59 .uleb128 0x59 19244 011a 05 .uleb128 0x5 19245 011b 57 .uleb128 0x57 19246 011c 0B .uleb128 0xb 19247 011d 01 .uleb128 0x1 19248 011e 13 .uleb128 0x13 19249 011f 00 .byte 0 19250 0120 00 .byte 0 19251 0121 17 .uleb128 0x17 19252 0122 1D .uleb128 0x1d 19253 0123 01 .byte 0x1 19254 0124 31 .uleb128 0x31 19255 0125 10 .uleb128 0x10 19256 0126 52 .uleb128 0x52 19257 0127 01 .uleb128 0x1 19258 0128 B842 .uleb128 0x2138 19259 012a 05 .uleb128 0x5 19260 012b 11 .uleb128 0x11 19261 012c 01 .uleb128 0x1 19262 012d 12 .uleb128 0x12 19263 012e 01 .uleb128 0x1 19264 012f 58 .uleb128 0x58 19265 0130 0B .uleb128 0xb 19266 0131 59 .uleb128 0x59 19267 0132 05 .uleb128 0x5 19268 0133 57 .uleb128 0x57 19269 0134 0B .uleb128 0xb 19270 0135 00 .byte 0 19271 0136 00 .byte 0 19272 0137 18 .uleb128 0x18 19273 0138 1D .uleb128 0x1d ARM GAS /tmp/ccJhhmLc.s page 815 19274 0139 01 .byte 0x1 19275 013a 31 .uleb128 0x31 19276 013b 10 .uleb128 0x10 19277 013c 52 .uleb128 0x52 19278 013d 01 .uleb128 0x1 19279 013e B842 .uleb128 0x2138 19280 0140 05 .uleb128 0x5 19281 0141 55 .uleb128 0x55 19282 0142 06 .uleb128 0x6 19283 0143 58 .uleb128 0x58 19284 0144 0B .uleb128 0xb 19285 0145 59 .uleb128 0x59 19286 0146 05 .uleb128 0x5 19287 0147 57 .uleb128 0x57 19288 0148 0B .uleb128 0xb 19289 0149 01 .uleb128 0x1 19290 014a 13 .uleb128 0x13 19291 014b 00 .byte 0 19292 014c 00 .byte 0 19293 014d 19 .uleb128 0x19 19294 014e 1D .uleb128 0x1d 19295 014f 01 .byte 0x1 19296 0150 31 .uleb128 0x31 19297 0151 10 .uleb128 0x10 19298 0152 52 .uleb128 0x52 19299 0153 01 .uleb128 0x1 19300 0154 B842 .uleb128 0x2138 19301 0156 05 .uleb128 0x5 19302 0157 55 .uleb128 0x55 19303 0158 06 .uleb128 0x6 19304 0159 58 .uleb128 0x58 19305 015a 0B .uleb128 0xb 19306 015b 59 .uleb128 0x59 19307 015c 05 .uleb128 0x5 19308 015d 57 .uleb128 0x57 19309 015e 0B .uleb128 0xb 19310 015f 00 .byte 0 19311 0160 00 .byte 0 19312 0161 1A .uleb128 0x1a 19313 0162 8A8201 .uleb128 0x410a 19314 0165 00 .byte 0 19315 0166 31 .uleb128 0x31 19316 0167 13 .uleb128 0x13 19317 0168 9142 .uleb128 0x2111 19318 016a 0A .uleb128 0xa 19319 016b 00 .byte 0 19320 016c 00 .byte 0 19321 016d 1B .uleb128 0x1b 19322 016e 2E .uleb128 0x2e 19323 016f 01 .byte 0x1 19324 0170 31 .uleb128 0x31 19325 0171 10 .uleb128 0x10 19326 0172 01 .uleb128 0x1 19327 0173 13 .uleb128 0x13 19328 0174 00 .byte 0 19329 0175 00 .byte 0 19330 0176 1C .uleb128 0x1c ARM GAS /tmp/ccJhhmLc.s page 816 19331 0177 1D .uleb128 0x1d 19332 0178 01 .byte 0x1 19333 0179 31 .uleb128 0x31 19334 017a 10 .uleb128 0x10 19335 017b 11 .uleb128 0x11 19336 017c 01 .uleb128 0x1 19337 017d 12 .uleb128 0x12 19338 017e 01 .uleb128 0x1 19339 017f 58 .uleb128 0x58 19340 0180 0B .uleb128 0xb 19341 0181 59 .uleb128 0x59 19342 0182 0B .uleb128 0xb 19343 0183 57 .uleb128 0x57 19344 0184 0B .uleb128 0xb 19345 0185 01 .uleb128 0x1 19346 0186 13 .uleb128 0x13 19347 0187 00 .byte 0 19348 0188 00 .byte 0 19349 0189 1D .uleb128 0x1d 19350 018a 1D .uleb128 0x1d 19351 018b 01 .byte 0x1 19352 018c 31 .uleb128 0x31 19353 018d 10 .uleb128 0x10 19354 018e 55 .uleb128 0x55 19355 018f 06 .uleb128 0x6 19356 0190 58 .uleb128 0x58 19357 0191 0B .uleb128 0xb 19358 0192 59 .uleb128 0x59 19359 0193 0B .uleb128 0xb 19360 0194 57 .uleb128 0x57 19361 0195 0B .uleb128 0xb 19362 0196 01 .uleb128 0x1 19363 0197 13 .uleb128 0x13 19364 0198 00 .byte 0 19365 0199 00 .byte 0 19366 019a 1E .uleb128 0x1e 19367 019b 898201 .uleb128 0x4109 19368 019e 00 .byte 0 19369 019f 11 .uleb128 0x11 19370 01a0 01 .uleb128 0x1 19371 01a1 9542 .uleb128 0x2115 19372 01a3 0C .uleb128 0xc 19373 01a4 31 .uleb128 0x31 19374 01a5 13 .uleb128 0x13 19375 01a6 00 .byte 0 19376 01a7 00 .byte 0 19377 01a8 1F .uleb128 0x1f 19378 01a9 898201 .uleb128 0x4109 19379 01ac 01 .byte 0x1 19380 01ad 11 .uleb128 0x11 19381 01ae 01 .uleb128 0x1 19382 01af 31 .uleb128 0x31 19383 01b0 13 .uleb128 0x13 19384 01b1 01 .uleb128 0x1 19385 01b2 13 .uleb128 0x13 19386 01b3 00 .byte 0 19387 01b4 00 .byte 0 ARM GAS /tmp/ccJhhmLc.s page 817 19388 01b5 20 .uleb128 0x20 19389 01b6 34 .uleb128 0x34 19390 01b7 00 .byte 0 19391 01b8 31 .uleb128 0x31 19392 01b9 10 .uleb128 0x10 19393 01ba 02 .uleb128 0x2 19394 01bb 0A .uleb128 0xa 19395 01bc 00 .byte 0 19396 01bd 00 .byte 0 19397 01be 21 .uleb128 0x21 19398 01bf 898201 .uleb128 0x4109 19399 01c2 01 .byte 0x1 19400 01c3 11 .uleb128 0x11 19401 01c4 01 .uleb128 0x1 19402 01c5 01 .uleb128 0x1 19403 01c6 13 .uleb128 0x13 19404 01c7 00 .byte 0 19405 01c8 00 .byte 0 19406 01c9 22 .uleb128 0x22 19407 01ca 898201 .uleb128 0x4109 19408 01cd 01 .byte 0x1 19409 01ce 11 .uleb128 0x11 19410 01cf 01 .uleb128 0x1 19411 01d0 9542 .uleb128 0x2115 19412 01d2 0C .uleb128 0xc 19413 01d3 01 .uleb128 0x1 19414 01d4 13 .uleb128 0x13 19415 01d5 00 .byte 0 19416 01d6 00 .byte 0 19417 01d7 23 .uleb128 0x23 19418 01d8 898201 .uleb128 0x4109 19419 01db 01 .byte 0x1 19420 01dc 11 .uleb128 0x11 19421 01dd 01 .uleb128 0x1 19422 01de 00 .byte 0 19423 01df 00 .byte 0 19424 01e0 24 .uleb128 0x24 19425 01e1 1D .uleb128 0x1d 19426 01e2 01 .byte 0x1 19427 01e3 31 .uleb128 0x31 19428 01e4 10 .uleb128 0x10 19429 01e5 11 .uleb128 0x11 19430 01e6 01 .uleb128 0x1 19431 01e7 12 .uleb128 0x12 19432 01e8 01 .uleb128 0x1 19433 01e9 58 .uleb128 0x58 19434 01ea 0B .uleb128 0xb 19435 01eb 59 .uleb128 0x59 19436 01ec 05 .uleb128 0x5 19437 01ed 57 .uleb128 0x57 19438 01ee 0B .uleb128 0xb 19439 01ef 00 .byte 0 19440 01f0 00 .byte 0 19441 01f1 25 .uleb128 0x25 19442 01f2 1D .uleb128 0x1d 19443 01f3 01 .byte 0x1 19444 01f4 31 .uleb128 0x31 ARM GAS /tmp/ccJhhmLc.s page 818 19445 01f5 10 .uleb128 0x10 19446 01f6 11 .uleb128 0x11 19447 01f7 01 .uleb128 0x1 19448 01f8 12 .uleb128 0x12 19449 01f9 01 .uleb128 0x1 19450 01fa 58 .uleb128 0x58 19451 01fb 0B .uleb128 0xb 19452 01fc 59 .uleb128 0x59 19453 01fd 0B .uleb128 0xb 19454 01fe 57 .uleb128 0x57 19455 01ff 0B .uleb128 0xb 19456 0200 00 .byte 0 19457 0201 00 .byte 0 19458 0202 26 .uleb128 0x26 19459 0203 1D .uleb128 0x1d 19460 0204 00 .byte 0 19461 0205 31 .uleb128 0x31 19462 0206 10 .uleb128 0x10 19463 0207 52 .uleb128 0x52 19464 0208 01 .uleb128 0x1 19465 0209 B842 .uleb128 0x2138 19466 020b 05 .uleb128 0x5 19467 020c 55 .uleb128 0x55 19468 020d 06 .uleb128 0x6 19469 020e 58 .uleb128 0x58 19470 020f 0B .uleb128 0xb 19471 0210 59 .uleb128 0x59 19472 0211 0B .uleb128 0xb 19473 0212 57 .uleb128 0x57 19474 0213 0B .uleb128 0xb 19475 0214 00 .byte 0 19476 0215 00 .byte 0 19477 0216 27 .uleb128 0x27 19478 0217 0B .uleb128 0xb 19479 0218 01 .byte 0x1 19480 0219 31 .uleb128 0x31 19481 021a 10 .uleb128 0x10 19482 021b 11 .uleb128 0x11 19483 021c 01 .uleb128 0x1 19484 021d 12 .uleb128 0x12 19485 021e 01 .uleb128 0x1 19486 021f 01 .uleb128 0x1 19487 0220 13 .uleb128 0x13 19488 0221 00 .byte 0 19489 0222 00 .byte 0 19490 0223 28 .uleb128 0x28 19491 0224 0B .uleb128 0xb 19492 0225 01 .byte 0x1 19493 0226 31 .uleb128 0x31 19494 0227 10 .uleb128 0x10 19495 0228 55 .uleb128 0x55 19496 0229 06 .uleb128 0x6 19497 022a 01 .uleb128 0x1 19498 022b 13 .uleb128 0x13 19499 022c 00 .byte 0 19500 022d 00 .byte 0 19501 022e 29 .uleb128 0x29 ARM GAS /tmp/ccJhhmLc.s page 819 19502 022f 1D .uleb128 0x1d 19503 0230 00 .byte 0 19504 0231 31 .uleb128 0x31 19505 0232 10 .uleb128 0x10 19506 0233 52 .uleb128 0x52 19507 0234 01 .uleb128 0x1 19508 0235 B842 .uleb128 0x2138 19509 0237 05 .uleb128 0x5 19510 0238 11 .uleb128 0x11 19511 0239 01 .uleb128 0x1 19512 023a 12 .uleb128 0x12 19513 023b 01 .uleb128 0x1 19514 023c 58 .uleb128 0x58 19515 023d 0B .uleb128 0xb 19516 023e 59 .uleb128 0x59 19517 023f 0B .uleb128 0xb 19518 0240 57 .uleb128 0x57 19519 0241 0B .uleb128 0xb 19520 0242 00 .byte 0 19521 0243 00 .byte 0 19522 0244 2A .uleb128 0x2a 19523 0245 2E .uleb128 0x2e 19524 0246 01 .byte 0x1 19525 0247 31 .uleb128 0x31 19526 0248 10 .uleb128 0x10 19527 0249 8740 .uleb128 0x2007 19528 024b 0E .uleb128 0xe 19529 024c 11 .uleb128 0x11 19530 024d 01 .uleb128 0x1 19531 024e 12 .uleb128 0x12 19532 024f 01 .uleb128 0x1 19533 0250 40 .uleb128 0x40 19534 0251 06 .uleb128 0x6 19535 0252 9742 .uleb128 0x2117 19536 0254 0C .uleb128 0xc 19537 0255 01 .uleb128 0x1 19538 0256 13 .uleb128 0x13 19539 0257 00 .byte 0 19540 0258 00 .byte 0 19541 0259 2B .uleb128 0x2b 19542 025a 34 .uleb128 0x34 19543 025b 00 .byte 0 19544 025c 31 .uleb128 0x31 19545 025d 10 .uleb128 0x10 19546 025e 1C .uleb128 0x1c 19547 025f 0B .uleb128 0xb 19548 0260 00 .byte 0 19549 0261 00 .byte 0 19550 0262 2C .uleb128 0x2c 19551 0263 1D .uleb128 0x1d 19552 0264 01 .byte 0x1 19553 0265 31 .uleb128 0x31 19554 0266 10 .uleb128 0x10 19555 0267 55 .uleb128 0x55 19556 0268 06 .uleb128 0x6 19557 0269 58 .uleb128 0x58 19558 026a 0B .uleb128 0xb ARM GAS /tmp/ccJhhmLc.s page 820 19559 026b 59 .uleb128 0x59 19560 026c 05 .uleb128 0x5 19561 026d 57 .uleb128 0x57 19562 026e 0B .uleb128 0xb 19563 026f 01 .uleb128 0x1 19564 0270 13 .uleb128 0x13 19565 0271 00 .byte 0 19566 0272 00 .byte 0 19567 0273 2D .uleb128 0x2d 19568 0274 1D .uleb128 0x1d 19569 0275 00 .byte 0 19570 0276 31 .uleb128 0x31 19571 0277 10 .uleb128 0x10 19572 0278 55 .uleb128 0x55 19573 0279 06 .uleb128 0x6 19574 027a 58 .uleb128 0x58 19575 027b 0B .uleb128 0xb 19576 027c 59 .uleb128 0x59 19577 027d 0B .uleb128 0xb 19578 027e 57 .uleb128 0x57 19579 027f 0B .uleb128 0xb 19580 0280 00 .byte 0 19581 0281 00 .byte 0 19582 0282 2E .uleb128 0x2e 19583 0283 1D .uleb128 0x1d 19584 0284 00 .byte 0 19585 0285 31 .uleb128 0x31 19586 0286 10 .uleb128 0x10 19587 0287 11 .uleb128 0x11 19588 0288 01 .uleb128 0x1 19589 0289 12 .uleb128 0x12 19590 028a 01 .uleb128 0x1 19591 028b 58 .uleb128 0x58 19592 028c 0B .uleb128 0xb 19593 028d 59 .uleb128 0x59 19594 028e 05 .uleb128 0x5 19595 028f 57 .uleb128 0x57 19596 0290 0B .uleb128 0xb 19597 0291 00 .byte 0 19598 0292 00 .byte 0 19599 0293 2F .uleb128 0x2f 19600 0294 2E .uleb128 0x2e 19601 0295 01 .byte 0x1 19602 0296 31 .uleb128 0x31 19603 0297 10 .uleb128 0x10 19604 0298 8740 .uleb128 0x2007 19605 029a 0E .uleb128 0xe 19606 029b 11 .uleb128 0x11 19607 029c 01 .uleb128 0x1 19608 029d 12 .uleb128 0x12 19609 029e 01 .uleb128 0x1 19610 029f 40 .uleb128 0x40 19611 02a0 0A .uleb128 0xa 19612 02a1 9742 .uleb128 0x2117 19613 02a3 0C .uleb128 0xc 19614 02a4 01 .uleb128 0x1 19615 02a5 13 .uleb128 0x13 ARM GAS /tmp/ccJhhmLc.s page 821 19616 02a6 00 .byte 0 19617 02a7 00 .byte 0 19618 02a8 30 .uleb128 0x30 19619 02a9 898201 .uleb128 0x4109 19620 02ac 01 .byte 0x1 19621 02ad 11 .uleb128 0x11 19622 02ae 01 .uleb128 0x1 19623 02af 9542 .uleb128 0x2115 19624 02b1 0C .uleb128 0xc 19625 02b2 31 .uleb128 0x31 19626 02b3 13 .uleb128 0x13 19627 02b4 01 .uleb128 0x1 19628 02b5 13 .uleb128 0x13 19629 02b6 00 .byte 0 19630 02b7 00 .byte 0 19631 02b8 31 .uleb128 0x31 19632 02b9 898201 .uleb128 0x4109 19633 02bc 01 .byte 0x1 19634 02bd 11 .uleb128 0x11 19635 02be 01 .uleb128 0x1 19636 02bf 9542 .uleb128 0x2115 19637 02c1 0C .uleb128 0xc 19638 02c2 31 .uleb128 0x31 19639 02c3 13 .uleb128 0x13 19640 02c4 00 .byte 0 19641 02c5 00 .byte 0 19642 02c6 32 .uleb128 0x32 19643 02c7 2E .uleb128 0x2e 19644 02c8 01 .byte 0x1 19645 02c9 31 .uleb128 0x31 19646 02ca 10 .uleb128 0x10 19647 02cb 8740 .uleb128 0x2007 19648 02cd 0E .uleb128 0xe 19649 02ce 11 .uleb128 0x11 19650 02cf 01 .uleb128 0x1 19651 02d0 12 .uleb128 0x12 19652 02d1 01 .uleb128 0x1 19653 02d2 40 .uleb128 0x40 19654 02d3 06 .uleb128 0x6 19655 02d4 01 .uleb128 0x1 19656 02d5 13 .uleb128 0x13 19657 02d6 00 .byte 0 19658 02d7 00 .byte 0 19659 02d8 33 .uleb128 0x33 19660 02d9 1D .uleb128 0x1d 19661 02da 01 .byte 0x1 19662 02db 31 .uleb128 0x31 19663 02dc 10 .uleb128 0x10 19664 02dd 55 .uleb128 0x55 19665 02de 06 .uleb128 0x6 19666 02df 58 .uleb128 0x58 19667 02e0 0B .uleb128 0xb 19668 02e1 59 .uleb128 0x59 19669 02e2 0B .uleb128 0xb 19670 02e3 57 .uleb128 0x57 19671 02e4 0B .uleb128 0xb 19672 02e5 00 .byte 0 ARM GAS /tmp/ccJhhmLc.s page 822 19673 02e6 00 .byte 0 19674 02e7 34 .uleb128 0x34 19675 02e8 898201 .uleb128 0x4109 19676 02eb 01 .byte 0x1 19677 02ec 11 .uleb128 0x11 19678 02ed 01 .uleb128 0x1 19679 02ee 9542 .uleb128 0x2115 19680 02f0 0C .uleb128 0xc 19681 02f1 00 .byte 0 19682 02f2 00 .byte 0 19683 02f3 35 .uleb128 0x35 19684 02f4 1D .uleb128 0x1d 19685 02f5 00 .byte 0 19686 02f6 31 .uleb128 0x31 19687 02f7 10 .uleb128 0x10 19688 02f8 52 .uleb128 0x52 19689 02f9 01 .uleb128 0x1 19690 02fa B842 .uleb128 0x2138 19691 02fc 05 .uleb128 0x5 19692 02fd 11 .uleb128 0x11 19693 02fe 01 .uleb128 0x1 19694 02ff 12 .uleb128 0x12 19695 0300 01 .uleb128 0x1 19696 0301 58 .uleb128 0x58 19697 0302 0B .uleb128 0xb 19698 0303 59 .uleb128 0x59 19699 0304 05 .uleb128 0x5 19700 0305 57 .uleb128 0x57 19701 0306 0B .uleb128 0xb 19702 0307 00 .byte 0 19703 0308 00 .byte 0 19704 0309 36 .uleb128 0x36 19705 030a 1D .uleb128 0x1d 19706 030b 01 .byte 0x1 19707 030c 31 .uleb128 0x31 19708 030d 10 .uleb128 0x10 19709 030e 52 .uleb128 0x52 19710 030f 01 .uleb128 0x1 19711 0310 B842 .uleb128 0x2138 19712 0312 05 .uleb128 0x5 19713 0313 11 .uleb128 0x11 19714 0314 01 .uleb128 0x1 19715 0315 12 .uleb128 0x12 19716 0316 01 .uleb128 0x1 19717 0317 58 .uleb128 0x58 19718 0318 0B .uleb128 0xb 19719 0319 59 .uleb128 0x59 19720 031a 0B .uleb128 0xb 19721 031b 57 .uleb128 0x57 19722 031c 0B .uleb128 0xb 19723 031d 00 .byte 0 19724 031e 00 .byte 0 19725 031f 37 .uleb128 0x37 19726 0320 2E .uleb128 0x2e 19727 0321 00 .byte 0 19728 0322 3F .uleb128 0x3f 19729 0323 0C .uleb128 0xc ARM GAS /tmp/ccJhhmLc.s page 823 19730 0324 3C .uleb128 0x3c 19731 0325 0C .uleb128 0xc 19732 0326 8740 .uleb128 0x2007 19733 0328 0E .uleb128 0xe 19734 0329 03 .uleb128 0x3 19735 032a 0E .uleb128 0xe 19736 032b 3A .uleb128 0x3a 19737 032c 0B .uleb128 0xb 19738 032d 3B .uleb128 0x3b 19739 032e 0B .uleb128 0xb 19740 032f 00 .byte 0 19741 0330 00 .byte 0 19742 0331 00 .byte 0 19743 .section .debug_loc,"",%progbits 19744 .Ldebug_loc0: 19745 .LVUS0: 19746 0000 01 .uleb128 .LVU1 19747 0001 00 .uleb128 0 19748 .LLST0: 19749 0002 00000000 .4byte .LVL0 19750 0006 1A000000 .4byte .LFE1 19751 000a 0100 .2byte 0x1 19752 000c 50 .byte 0x50 19753 000d 00000000 .4byte 0 19754 0011 00000000 .4byte 0 19755 .LVUS1: 19756 0015 01 .uleb128 .LVU7 19757 0016 00 .uleb128 0 19758 .LLST1: 19759 0017 00000000 .4byte .LVL1 19760 001b 1A000000 .4byte .LFE3 19761 001f 0100 .2byte 0x1 19762 0021 50 .byte 0x50 19763 0022 00000000 .4byte 0 19764 0026 00000000 .4byte 0 19765 .LLST2: 19766 002a 00000000 .4byte .LFB5 19767 002e 04000000 .4byte .LCFI0 19768 0032 0200 .2byte 0x2 19769 0034 7D .byte 0x7d 19770 0035 00 .sleb128 0 19771 0036 04000000 .4byte .LCFI0 19772 003a 8C010000 .4byte .LFE5 19773 003e 0200 .2byte 0x2 19774 0040 7D .byte 0x7d 19775 0041 1C .sleb128 28 19776 0042 00000000 .4byte 0 19777 0046 00000000 .4byte 0 19778 .LVUS3: 19779 004a 00 .uleb128 0 19780 004b 00 .uleb128 .LVU72 19781 004c 00 .uleb128 .LVU72 19782 004d 00 .uleb128 .LVU73 19783 004e 00 .uleb128 .LVU73 19784 004f 00 .uleb128 .LVU84 19785 0050 00 .uleb128 .LVU84 19786 0051 00 .uleb128 .LVU86 ARM GAS /tmp/ccJhhmLc.s page 824 19787 0052 00 .uleb128 .LVU86 19788 0053 00 .uleb128 .LVU90 19789 0054 00 .uleb128 .LVU90 19790 0055 00 .uleb128 0 19791 .LLST3: 19792 0056 00000000 .4byte .LVL2 19793 005a DA000000 .4byte .LVL8 19794 005e 0100 .2byte 0x1 19795 0060 50 .byte 0x50 19796 0061 DA000000 .4byte .LVL8 19797 0065 DE000000 .4byte .LVL9 19798 0069 0A00 .2byte 0xa 19799 006b F3 .byte 0xf3 19800 006c 03 .uleb128 0x3 19801 006d F5 .byte 0xf5 19802 006e 00 .uleb128 0 19803 006f 29 .uleb128 0x29 19804 0070 F7 .byte 0xf7 19805 0071 30 .uleb128 0x30 19806 0072 F7 .byte 0xf7 19807 0073 00 .uleb128 0 19808 0074 9F .byte 0x9f 19809 0075 DE000000 .4byte .LVL9 19810 0079 04010000 .4byte .LVL13 19811 007d 0100 .2byte 0x1 19812 007f 50 .byte 0x50 19813 0080 04010000 .4byte .LVL13 19814 0084 0A010000 .4byte .LVL14 19815 0088 0400 .2byte 0x4 19816 008a 70 .byte 0x70 19817 008b 8060 .sleb128 -4096 19818 008d 9F .byte 0x9f 19819 008e 0A010000 .4byte .LVL14 19820 0092 1A010000 .4byte .LVL17 19821 0096 0400 .2byte 0x4 19822 0098 76 .byte 0x76 19823 0099 806E .sleb128 -2304 19824 009b 9F .byte 0x9f 19825 009c 1A010000 .4byte .LVL17 19826 00a0 8C010000 .4byte .LFE5 19827 00a4 0100 .2byte 0x1 19828 00a6 50 .byte 0x50 19829 00a7 00000000 .4byte 0 19830 00ab 00000000 .4byte 0 19831 .LVUS4: 19832 00af 00 .uleb128 0 19833 00b0 00 .uleb128 .LVU72 19834 00b1 00 .uleb128 .LVU72 19835 00b2 00 .uleb128 .LVU73 19836 00b3 00 .uleb128 .LVU73 19837 00b4 00 .uleb128 .LVU87 19838 00b5 00 .uleb128 .LVU87 19839 00b6 00 .uleb128 .LVU90 19840 00b7 00 .uleb128 .LVU90 19841 00b8 00 .uleb128 0 19842 .LLST4: 19843 00b9 00000000 .4byte .LVL2 ARM GAS /tmp/ccJhhmLc.s page 825 19844 00bd DA000000 .4byte .LVL8 19845 00c1 0100 .2byte 0x1 19846 00c3 51 .byte 0x51 19847 00c4 DA000000 .4byte .LVL8 19848 00c8 DE000000 .4byte .LVL9 19849 00cc 0A00 .2byte 0xa 19850 00ce F3 .byte 0xf3 19851 00cf 03 .uleb128 0x3 19852 00d0 F5 .byte 0xf5 19853 00d1 01 .uleb128 0x1 19854 00d2 29 .uleb128 0x29 19855 00d3 F7 .byte 0xf7 19856 00d4 30 .uleb128 0x30 19857 00d5 F7 .byte 0xf7 19858 00d6 00 .uleb128 0 19859 00d7 9F .byte 0x9f 19860 00d8 DE000000 .4byte .LVL9 19861 00dc 0E010000 .4byte .LVL15 19862 00e0 0100 .2byte 0x1 19863 00e2 51 .byte 0x51 19864 00e3 0E010000 .4byte .LVL15 19865 00e7 1A010000 .4byte .LVL17 19866 00eb 0A00 .2byte 0xa 19867 00ed F3 .byte 0xf3 19868 00ee 03 .uleb128 0x3 19869 00ef F5 .byte 0xf5 19870 00f0 01 .uleb128 0x1 19871 00f1 29 .uleb128 0x29 19872 00f2 F7 .byte 0xf7 19873 00f3 30 .uleb128 0x30 19874 00f4 F7 .byte 0xf7 19875 00f5 00 .uleb128 0 19876 00f6 9F .byte 0x9f 19877 00f7 1A010000 .4byte .LVL17 19878 00fb 8C010000 .4byte .LFE5 19879 00ff 0100 .2byte 0x1 19880 0101 51 .byte 0x51 19881 0102 00000000 .4byte 0 19882 0106 00000000 .4byte 0 19883 .LVUS5: 19884 010a 00 .uleb128 0 19885 010b 00 .uleb128 .LVU16 19886 010c 00 .uleb128 .LVU16 19887 010d 00 .uleb128 0 19888 .LLST5: 19889 010e 00000000 .4byte .LVL2 19890 0112 08000000 .4byte .LVL3 19891 0116 0100 .2byte 0x1 19892 0118 52 .byte 0x52 19893 0119 08000000 .4byte .LVL3 19894 011d 8C010000 .4byte .LFE5 19895 0121 0100 .2byte 0x1 19896 0123 5C .byte 0x5c 19897 0124 00000000 .4byte 0 19898 0128 00000000 .4byte 0 19899 .LVUS6: 19900 012c 01 .uleb128 .LVU13 ARM GAS /tmp/ccJhhmLc.s page 826 19901 012d 00 .uleb128 .LVU72 19902 012e 00 .uleb128 .LVU72 19903 012f 00 .uleb128 .LVU73 19904 0130 00 .uleb128 .LVU73 19905 0131 00 .uleb128 .LVU84 19906 0132 00 .uleb128 .LVU84 19907 0133 00 .uleb128 .LVU86 19908 0134 00 .uleb128 .LVU86 19909 0135 00 .uleb128 .LVU90 19910 0136 00 .uleb128 .LVU90 19911 0137 00 .uleb128 0 19912 .LLST6: 19913 0138 00000000 .4byte .LVL2 19914 013c DA000000 .4byte .LVL8 19915 0140 0100 .2byte 0x1 19916 0142 50 .byte 0x50 19917 0143 DA000000 .4byte .LVL8 19918 0147 DE000000 .4byte .LVL9 19919 014b 0A00 .2byte 0xa 19920 014d F3 .byte 0xf3 19921 014e 03 .uleb128 0x3 19922 014f F5 .byte 0xf5 19923 0150 00 .uleb128 0 19924 0151 29 .uleb128 0x29 19925 0152 F7 .byte 0xf7 19926 0153 30 .uleb128 0x30 19927 0154 F7 .byte 0xf7 19928 0155 00 .uleb128 0 19929 0156 9F .byte 0x9f 19930 0157 DE000000 .4byte .LVL9 19931 015b 04010000 .4byte .LVL13 19932 015f 0100 .2byte 0x1 19933 0161 50 .byte 0x50 19934 0162 04010000 .4byte .LVL13 19935 0166 0A010000 .4byte .LVL14 19936 016a 0400 .2byte 0x4 19937 016c 70 .byte 0x70 19938 016d 8060 .sleb128 -4096 19939 016f 9F .byte 0x9f 19940 0170 0A010000 .4byte .LVL14 19941 0174 1A010000 .4byte .LVL17 19942 0178 0400 .2byte 0x4 19943 017a 76 .byte 0x76 19944 017b 806E .sleb128 -2304 19945 017d 9F .byte 0x9f 19946 017e 1A010000 .4byte .LVL17 19947 0182 8C010000 .4byte .LFE5 19948 0186 0100 .2byte 0x1 19949 0188 50 .byte 0x50 19950 0189 00000000 .4byte 0 19951 018d 00000000 .4byte 0 19952 .LVUS7: 19953 0191 00 .uleb128 .LVU17 19954 0192 00 .uleb128 .LVU32 19955 0193 00 .uleb128 .LVU43 19956 0194 00 .uleb128 .LVU70 19957 0195 00 .uleb128 .LVU73 ARM GAS /tmp/ccJhhmLc.s page 827 19958 0196 00 .uleb128 .LVU92 19959 0197 00 .uleb128 .LVU92 19960 0198 00 .uleb128 .LVU93 19961 .LLST7: 19962 0199 0C000000 .4byte .LVL4 19963 019d 46000000 .4byte .LVL5 19964 01a1 0100 .2byte 0x1 19965 01a3 58 .byte 0x58 19966 01a4 70000000 .4byte .LVL6 19967 01a8 CE000000 .4byte .LVL7 19968 01ac 0100 .2byte 0x1 19969 01ae 58 .byte 0x58 19970 01af DE000000 .4byte .LVL9 19971 01b3 24010000 .4byte .LVL18 19972 01b7 0100 .2byte 0x1 19973 01b9 58 .byte 0x58 19974 01ba 24010000 .4byte .LVL18 19975 01be 2A010000 .4byte .LVL19 19976 01c2 0800 .2byte 0x8 19977 01c4 71 .byte 0x71 19978 01c5 00 .sleb128 0 19979 01c6 94 .byte 0x94 19980 01c7 01 .byte 0x1 19981 01c8 08 .byte 0x8 19982 01c9 FF .byte 0xff 19983 01ca 1A .byte 0x1a 19984 01cb 9F .byte 0x9f 19985 01cc 00000000 .4byte 0 19986 01d0 00000000 .4byte 0 19987 .LVUS8: 19988 01d4 00 .uleb128 .LVU106 19989 01d5 00 .uleb128 .LVU109 19990 01d6 00 .uleb128 .LVU109 19991 01d7 00 .uleb128 0 19992 .LLST8: 19993 01d8 52010000 .4byte .LVL20 19994 01dc 5C010000 .4byte .LVL21 19995 01e0 1100 .2byte 0x11 19996 01e2 73 .byte 0x73 19997 01e3 00 .sleb128 0 19998 01e4 77 .byte 0x77 19999 01e5 00 .sleb128 0 20000 01e6 22 .byte 0x22 20001 01e7 31 .byte 0x31 20002 01e8 1C .byte 0x1c 20003 01e9 F7 .byte 0xf7 20004 01ea 30 .uleb128 0x30 20005 01eb 77 .byte 0x77 20006 01ec 00 .sleb128 0 20007 01ed F7 .byte 0xf7 20008 01ee 30 .uleb128 0x30 20009 01ef 1B .byte 0x1b 20010 01f0 F7 .byte 0xf7 20011 01f1 00 .uleb128 0 20012 01f2 9F .byte 0x9f 20013 01f3 5C010000 .4byte .LVL21 20014 01f7 8C010000 .4byte .LFE5 ARM GAS /tmp/ccJhhmLc.s page 828 20015 01fb 1200 .2byte 0x12 20016 01fd 77 .byte 0x77 20017 01fe 00 .sleb128 0 20018 01ff 71 .byte 0x71 20019 0200 14 .sleb128 20 20020 0201 06 .byte 0x6 20021 0202 22 .byte 0x22 20022 0203 31 .byte 0x31 20023 0204 1C .byte 0x1c 20024 0205 F7 .byte 0xf7 20025 0206 30 .uleb128 0x30 20026 0207 77 .byte 0x77 20027 0208 00 .sleb128 0 20028 0209 F7 .byte 0xf7 20029 020a 30 .uleb128 0x30 20030 020b 1B .byte 0x1b 20031 020c F7 .byte 0xf7 20032 020d 00 .uleb128 0 20033 020e 9F .byte 0x9f 20034 020f 00000000 .4byte 0 20035 0213 00000000 .4byte 0 20036 .LVUS9: 20037 0217 00 .uleb128 .LVU78 20038 0218 00 .uleb128 .LVU84 20039 0219 00 .uleb128 .LVU84 20040 021a 00 .uleb128 .LVU86 20041 021b 00 .uleb128 .LVU86 20042 021c 00 .uleb128 .LVU90 20043 .LLST9: 20044 021d F4000000 .4byte .LVL10 20045 0221 04010000 .4byte .LVL13 20046 0225 0100 .2byte 0x1 20047 0227 50 .byte 0x50 20048 0228 04010000 .4byte .LVL13 20049 022c 0A010000 .4byte .LVL14 20050 0230 0400 .2byte 0x4 20051 0232 70 .byte 0x70 20052 0233 8060 .sleb128 -4096 20053 0235 9F .byte 0x9f 20054 0236 0A010000 .4byte .LVL14 20055 023a 1A010000 .4byte .LVL17 20056 023e 0400 .2byte 0x4 20057 0240 76 .byte 0x76 20058 0241 806E .sleb128 -2304 20059 0243 9F .byte 0x9f 20060 0244 00000000 .4byte 0 20061 0248 00000000 .4byte 0 20062 .LVUS10: 20063 024c 00 .uleb128 .LVU78 20064 024d 00 .uleb128 .LVU87 20065 024e 00 .uleb128 .LVU87 20066 024f 00 .uleb128 .LVU90 20067 .LLST10: 20068 0250 F4000000 .4byte .LVL10 20069 0254 0E010000 .4byte .LVL15 20070 0258 0200 .2byte 0x2 20071 025a 71 .byte 0x71 ARM GAS /tmp/ccJhhmLc.s page 829 20072 025b 0C .sleb128 12 20073 025c 0E010000 .4byte .LVL15 20074 0260 1A010000 .4byte .LVL17 20075 0264 0B00 .2byte 0xb 20076 0266 F3 .byte 0xf3 20077 0267 03 .uleb128 0x3 20078 0268 F5 .byte 0xf5 20079 0269 01 .uleb128 0x1 20080 026a 29 .uleb128 0x29 20081 026b F7 .byte 0xf7 20082 026c 30 .uleb128 0x30 20083 026d F7 .byte 0xf7 20084 026e 00 .uleb128 0 20085 026f 23 .byte 0x23 20086 0270 0C .uleb128 0xc 20087 0271 00000000 .4byte 0 20088 0275 00000000 .4byte 0 20089 .LVUS11: 20090 0279 00 .uleb128 .LVU78 20091 027a 00 .uleb128 .LVU80 20092 .LLST11: 20093 027b F4000000 .4byte .LVL10 20094 027f FC000000 .4byte .LVL11 20095 0283 0100 .2byte 0x1 20096 0285 53 .byte 0x53 20097 0286 00000000 .4byte 0 20098 028a 00000000 .4byte 0 20099 .LVUS12: 20100 028e 00 .uleb128 .LVU78 20101 028f 00 .uleb128 .LVU90 20102 .LLST12: 20103 0290 F4000000 .4byte .LVL10 20104 0294 1A010000 .4byte .LVL17 20105 0298 0100 .2byte 0x1 20106 029a 5C .byte 0x5c 20107 029b 00000000 .4byte 0 20108 029f 00000000 .4byte 0 20109 .LVUS14: 20110 02a3 00 .uleb128 .LVU78 20111 02a4 00 .uleb128 .LVU87 20112 02a5 00 .uleb128 .LVU87 20113 02a6 00 .uleb128 .LVU89 20114 02a7 00 .uleb128 .LVU89 20115 02a8 00 .uleb128 .LVU90 20116 .LLST14: 20117 02a9 F4000000 .4byte .LVL10 20118 02ad 0E010000 .4byte .LVL15 20119 02b1 0200 .2byte 0x2 20120 02b3 71 .byte 0x71 20121 02b4 0C .sleb128 12 20122 02b5 0E010000 .4byte .LVL15 20123 02b9 16010000 .4byte .LVL16 20124 02bd 0100 .2byte 0x1 20125 02bf 52 .byte 0x52 20126 02c0 16010000 .4byte .LVL16 20127 02c4 1A010000 .4byte .LVL17 20128 02c8 0300 .2byte 0x3 ARM GAS /tmp/ccJhhmLc.s page 830 20129 02ca 72 .byte 0x72 20130 02cb 7C .sleb128 -4 20131 02cc 9F .byte 0x9f 20132 02cd 00000000 .4byte 0 20133 02d1 00000000 .4byte 0 20134 .LVUS15: 20135 02d5 00 .uleb128 .LVU82 20136 02d6 00 .uleb128 .LVU87 20137 .LLST15: 20138 02d7 FE000000 .4byte .LVL12 20139 02db 0E010000 .4byte .LVL15 20140 02df 0200 .2byte 0x2 20141 02e1 30 .byte 0x30 20142 02e2 9F .byte 0x9f 20143 02e3 00000000 .4byte 0 20144 02e7 00000000 .4byte 0 20145 .LLST16: 20146 02eb 00000000 .4byte .LFB9 20147 02ef 06000000 .4byte .LCFI1 20148 02f3 0200 .2byte 0x2 20149 02f5 7D .byte 0x7d 20150 02f6 00 .sleb128 0 20151 02f7 06000000 .4byte .LCFI1 20152 02fb F0000000 .4byte .LFE9 20153 02ff 0200 .2byte 0x2 20154 0301 7D .byte 0x7d 20155 0302 18 .sleb128 24 20156 0303 00000000 .4byte 0 20157 0307 00000000 .4byte 0 20158 .LVUS17: 20159 030b 00 .uleb128 0 20160 030c 00 .uleb128 .LVU141 20161 030d 00 .uleb128 .LVU141 20162 030e 00 .uleb128 .LVU142 20163 030f 00 .uleb128 .LVU142 20164 0310 00 .uleb128 .LVU162 20165 0311 00 .uleb128 .LVU162 20166 0312 00 .uleb128 0 20167 .LLST17: 20168 0313 00000000 .4byte .LVL22 20169 0317 4C000000 .4byte .LVL25 20170 031b 0100 .2byte 0x1 20171 031d 50 .byte 0x50 20172 031e 4C000000 .4byte .LVL25 20173 0322 50000000 .4byte .LVL26 20174 0326 0A00 .2byte 0xa 20175 0328 F3 .byte 0xf3 20176 0329 03 .uleb128 0x3 20177 032a F5 .byte 0xf5 20178 032b 00 .uleb128 0 20179 032c 29 .uleb128 0x29 20180 032d F7 .byte 0xf7 20181 032e 30 .uleb128 0x30 20182 032f F7 .byte 0xf7 20183 0330 00 .uleb128 0 20184 0331 9F .byte 0x9f 20185 0332 50000000 .4byte .LVL26 ARM GAS /tmp/ccJhhmLc.s page 831 20186 0336 A8000000 .4byte .LVL30 20187 033a 0100 .2byte 0x1 20188 033c 50 .byte 0x50 20189 033d A8000000 .4byte .LVL30 20190 0341 F0000000 .4byte .LFE9 20191 0345 0400 .2byte 0x4 20192 0347 70 .byte 0x70 20193 0348 806A .sleb128 -2816 20194 034a 9F .byte 0x9f 20195 034b 00000000 .4byte 0 20196 034f 00000000 .4byte 0 20197 .LVUS18: 20198 0353 00 .uleb128 0 20199 0354 00 .uleb128 .LVU137 20200 0355 00 .uleb128 .LVU137 20201 0356 00 .uleb128 .LVU142 20202 0357 00 .uleb128 .LVU142 20203 0358 00 .uleb128 .LVU158 20204 0359 00 .uleb128 .LVU158 20205 035a 00 .uleb128 .LVU161 20206 035b 00 .uleb128 .LVU161 20207 035c 00 .uleb128 .LVU178 20208 035d 00 .uleb128 .LVU178 20209 035e 00 .uleb128 0 20210 .LLST18: 20211 035f 00000000 .4byte .LVL22 20212 0363 3C000000 .4byte .LVL24 20213 0367 0100 .2byte 0x1 20214 0369 52 .byte 0x52 20215 036a 3C000000 .4byte .LVL24 20216 036e 50000000 .4byte .LVL26 20217 0372 0A00 .2byte 0xa 20218 0374 F3 .byte 0xf3 20219 0375 03 .uleb128 0x3 20220 0376 F5 .byte 0xf5 20221 0377 02 .uleb128 0x2 20222 0378 29 .uleb128 0x29 20223 0379 F7 .byte 0xf7 20224 037a 37 .uleb128 0x37 20225 037b F7 .byte 0xf7 20226 037c 00 .uleb128 0 20227 037d 9F .byte 0x9f 20228 037e 50000000 .4byte .LVL26 20229 0382 92000000 .4byte .LVL27 20230 0386 0100 .2byte 0x1 20231 0388 52 .byte 0x52 20232 0389 92000000 .4byte .LVL27 20233 038d A4000000 .4byte .LVL29 20234 0391 0A00 .2byte 0xa 20235 0393 F3 .byte 0xf3 20236 0394 03 .uleb128 0x3 20237 0395 F5 .byte 0xf5 20238 0396 02 .uleb128 0x2 20239 0397 29 .uleb128 0x29 20240 0398 F7 .byte 0xf7 20241 0399 37 .uleb128 0x37 20242 039a F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 832 20243 039b 00 .uleb128 0 20244 039c 9F .byte 0x9f 20245 039d A4000000 .4byte .LVL29 20246 03a1 D8000000 .4byte .LVL31 20247 03a5 0100 .2byte 0x1 20248 03a7 52 .byte 0x52 20249 03a8 D8000000 .4byte .LVL31 20250 03ac F0000000 .4byte .LFE9 20251 03b0 0A00 .2byte 0xa 20252 03b2 F3 .byte 0xf3 20253 03b3 03 .uleb128 0x3 20254 03b4 F5 .byte 0xf5 20255 03b5 02 .uleb128 0x2 20256 03b6 29 .uleb128 0x29 20257 03b7 F7 .byte 0xf7 20258 03b8 37 .uleb128 0x37 20259 03b9 F7 .byte 0xf7 20260 03ba 00 .uleb128 0 20261 03bb 9F .byte 0x9f 20262 03bc 00000000 .4byte 0 20263 03c0 00000000 .4byte 0 20264 .LVUS19: 20265 03c4 01 .uleb128 .LVU118 20266 03c5 00 .uleb128 .LVU141 20267 03c6 00 .uleb128 .LVU141 20268 03c7 00 .uleb128 .LVU142 20269 03c8 00 .uleb128 .LVU142 20270 03c9 00 .uleb128 .LVU162 20271 03ca 00 .uleb128 .LVU162 20272 03cb 00 .uleb128 0 20273 .LLST19: 20274 03cc 00000000 .4byte .LVL22 20275 03d0 4C000000 .4byte .LVL25 20276 03d4 0100 .2byte 0x1 20277 03d6 50 .byte 0x50 20278 03d7 4C000000 .4byte .LVL25 20279 03db 50000000 .4byte .LVL26 20280 03df 0A00 .2byte 0xa 20281 03e1 F3 .byte 0xf3 20282 03e2 03 .uleb128 0x3 20283 03e3 F5 .byte 0xf5 20284 03e4 00 .uleb128 0 20285 03e5 29 .uleb128 0x29 20286 03e6 F7 .byte 0xf7 20287 03e7 30 .uleb128 0x30 20288 03e8 F7 .byte 0xf7 20289 03e9 00 .uleb128 0 20290 03ea 9F .byte 0x9f 20291 03eb 50000000 .4byte .LVL26 20292 03ef A8000000 .4byte .LVL30 20293 03f3 0100 .2byte 0x1 20294 03f5 50 .byte 0x50 20295 03f6 A8000000 .4byte .LVL30 20296 03fa F0000000 .4byte .LFE9 20297 03fe 0400 .2byte 0x4 20298 0400 70 .byte 0x70 20299 0401 806A .sleb128 -2816 ARM GAS /tmp/ccJhhmLc.s page 833 20300 0403 9F .byte 0x9f 20301 0404 00000000 .4byte 0 20302 0408 00000000 .4byte 0 20303 .LVUS20: 20304 040c 00 .uleb128 .LVU121 20305 040d 00 .uleb128 .LVU141 20306 040e 00 .uleb128 .LVU142 20307 040f 00 .uleb128 .LVU159 20308 0410 00 .uleb128 .LVU161 20309 0411 00 .uleb128 0 20310 .LLST20: 20311 0412 0A000000 .4byte .LVL23 20312 0416 4C000000 .4byte .LVL25 20313 041a 0600 .2byte 0x6 20314 041c 7E .byte 0x7e 20315 041d 00 .sleb128 0 20316 041e 08 .byte 0x8 20317 041f FF .byte 0xff 20318 0420 1A .byte 0x1a 20319 0421 9F .byte 0x9f 20320 0422 50000000 .4byte .LVL26 20321 0426 96000000 .4byte .LVL28 20322 042a 0600 .2byte 0x6 20323 042c 7E .byte 0x7e 20324 042d 00 .sleb128 0 20325 042e 08 .byte 0x8 20326 042f FF .byte 0xff 20327 0430 1A .byte 0x1a 20328 0431 9F .byte 0x9f 20329 0432 A4000000 .4byte .LVL29 20330 0436 F0000000 .4byte .LFE9 20331 043a 0600 .2byte 0x6 20332 043c 7E .byte 0x7e 20333 043d 00 .sleb128 0 20334 043e 08 .byte 0x8 20335 043f FF .byte 0xff 20336 0440 1A .byte 0x1a 20337 0441 9F .byte 0x9f 20338 0442 00000000 .4byte 0 20339 0446 00000000 .4byte 0 20340 .LLST21: 20341 044a 00000000 .4byte .LFB10 20342 044e 06000000 .4byte .LCFI2 20343 0452 0200 .2byte 0x2 20344 0454 7D .byte 0x7d 20345 0455 00 .sleb128 0 20346 0456 06000000 .4byte .LCFI2 20347 045a 20000000 .4byte .LFE10 20348 045e 0200 .2byte 0x2 20349 0460 7D .byte 0x7d 20350 0461 08 .sleb128 8 20351 0462 00000000 .4byte 0 20352 0466 00000000 .4byte 0 20353 .LVUS22: 20354 046a 00 .uleb128 0 20355 046b 00 .uleb128 .LVU190 20356 046c 00 .uleb128 .LVU190 ARM GAS /tmp/ccJhhmLc.s page 834 20357 046d 00 .uleb128 0 20358 .LLST22: 20359 046e 00000000 .4byte .LVL32 20360 0472 0D000000 .4byte .LVL33-1 20361 0476 0100 .2byte 0x1 20362 0478 50 .byte 0x50 20363 0479 0D000000 .4byte .LVL33-1 20364 047d 20000000 .4byte .LFE10 20365 0481 0100 .2byte 0x1 20366 0483 54 .byte 0x54 20367 0484 00000000 .4byte 0 20368 0488 00000000 .4byte 0 20369 .LVUS23: 20370 048c 00 .uleb128 .LVU191 20371 048d 00 .uleb128 .LVU196 20372 .LLST23: 20373 048e 10000000 .4byte .LVL34 20374 0492 1E000000 .4byte .LVL36 20375 0496 0100 .2byte 0x1 20376 0498 54 .byte 0x54 20377 0499 00000000 .4byte 0 20378 049d 00000000 .4byte 0 20379 .LLST24: 20380 04a1 00000000 .4byte .LFB13 20381 04a5 02000000 .4byte .LCFI3 20382 04a9 0200 .2byte 0x2 20383 04ab 7D .byte 0x7d 20384 04ac 00 .sleb128 0 20385 04ad 02000000 .4byte .LCFI3 20386 04b1 3C000000 .4byte .LFE13 20387 04b5 0200 .2byte 0x2 20388 04b7 7D .byte 0x7d 20389 04b8 10 .sleb128 16 20390 04b9 00000000 .4byte 0 20391 04bd 00000000 .4byte 0 20392 .LVUS25: 20393 04c1 00 .uleb128 .LVU202 20394 04c2 00 .uleb128 0 20395 .LLST25: 20396 04c3 06000000 .4byte .LVL38 20397 04c7 3C000000 .4byte .LFE13 20398 04cb 0100 .2byte 0x1 20399 04cd 55 .byte 0x55 20400 04ce 00000000 .4byte 0 20401 04d2 00000000 .4byte 0 20402 .LVUS26: 20403 04d6 00 .uleb128 .LVU207 20404 04d7 00 .uleb128 .LVU210 20405 04d8 00 .uleb128 .LVU213 20406 04d9 00 .uleb128 .LVU214 20407 .LLST26: 20408 04da 1C000000 .4byte .LVL39 20409 04de 26000000 .4byte .LVL40 20410 04e2 0100 .2byte 0x1 20411 04e4 50 .byte 0x50 20412 04e5 2E000000 .4byte .LVL41 20413 04e9 30000000 .4byte .LVL42 ARM GAS /tmp/ccJhhmLc.s page 835 20414 04ed 0100 .2byte 0x1 20415 04ef 50 .byte 0x50 20416 04f0 00000000 .4byte 0 20417 04f4 00000000 .4byte 0 20418 .LLST27: 20419 04f8 00000000 .4byte .LFB17 20420 04fc 02000000 .4byte .LCFI4 20421 0500 0200 .2byte 0x2 20422 0502 7D .byte 0x7d 20423 0503 00 .sleb128 0 20424 0504 02000000 .4byte .LCFI4 20425 0508 38000000 .4byte .LFE17 20426 050c 0200 .2byte 0x2 20427 050e 7D .byte 0x7d 20428 050f 08 .sleb128 8 20429 0510 00000000 .4byte 0 20430 0514 00000000 .4byte 0 20431 .LVUS28: 20432 0518 00 .uleb128 0 20433 0519 00 .uleb128 .LVU235 20434 051a 00 .uleb128 .LVU235 20435 051b 00 .uleb128 .LVU237 20436 051c 00 .uleb128 .LVU237 20437 051d 00 .uleb128 .LVU268 20438 051e 00 .uleb128 .LVU268 20439 051f 00 .uleb128 0 20440 .LLST28: 20441 0520 00000000 .4byte .LVL43 20442 0524 16000000 .4byte .LVL46 20443 0528 0100 .2byte 0x1 20444 052a 50 .byte 0x50 20445 052b 16000000 .4byte .LVL46 20446 052f 18000000 .4byte .LVL47 20447 0533 0A00 .2byte 0xa 20448 0535 F3 .byte 0xf3 20449 0536 03 .uleb128 0x3 20450 0537 F5 .byte 0xf5 20451 0538 00 .uleb128 0 20452 0539 29 .uleb128 0x29 20453 053a F7 .byte 0xf7 20454 053b 37 .uleb128 0x37 20455 053c F7 .byte 0xf7 20456 053d 00 .uleb128 0 20457 053e 9F .byte 0x9f 20458 053f 18000000 .4byte .LVL47 20459 0543 29000000 .4byte .LVL51-1 20460 0547 0100 .2byte 0x1 20461 0549 50 .byte 0x50 20462 054a 29000000 .4byte .LVL51-1 20463 054e 38000000 .4byte .LFE17 20464 0552 0A00 .2byte 0xa 20465 0554 F3 .byte 0xf3 20466 0555 03 .uleb128 0x3 20467 0556 F5 .byte 0xf5 20468 0557 00 .uleb128 0 20469 0558 29 .uleb128 0x29 20470 0559 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 836 20471 055a 37 .uleb128 0x37 20472 055b F7 .byte 0xf7 20473 055c 00 .uleb128 0 20474 055d 9F .byte 0x9f 20475 055e 00000000 .4byte 0 20476 0562 00000000 .4byte 0 20477 .LVUS29: 20478 0566 00 .uleb128 0 20479 0567 00 .uleb128 .LVU235 20480 0568 00 .uleb128 .LVU235 20481 0569 00 .uleb128 .LVU237 20482 056a 00 .uleb128 .LVU237 20483 056b 00 .uleb128 .LVU268 20484 056c 00 .uleb128 .LVU268 20485 056d 00 .uleb128 0 20486 .LLST29: 20487 056e 00000000 .4byte .LVL43 20488 0572 16000000 .4byte .LVL46 20489 0576 0100 .2byte 0x1 20490 0578 51 .byte 0x51 20491 0579 16000000 .4byte .LVL46 20492 057d 18000000 .4byte .LVL47 20493 0581 0A00 .2byte 0xa 20494 0583 F3 .byte 0xf3 20495 0584 03 .uleb128 0x3 20496 0585 F5 .byte 0xf5 20497 0586 01 .uleb128 0x1 20498 0587 29 .uleb128 0x29 20499 0588 F7 .byte 0xf7 20500 0589 37 .uleb128 0x37 20501 058a F7 .byte 0xf7 20502 058b 00 .uleb128 0 20503 058c 9F .byte 0x9f 20504 058d 18000000 .4byte .LVL47 20505 0591 29000000 .4byte .LVL51-1 20506 0595 0100 .2byte 0x1 20507 0597 51 .byte 0x51 20508 0598 29000000 .4byte .LVL51-1 20509 059c 38000000 .4byte .LFE17 20510 05a0 0A00 .2byte 0xa 20511 05a2 F3 .byte 0xf3 20512 05a3 03 .uleb128 0x3 20513 05a4 F5 .byte 0xf5 20514 05a5 01 .uleb128 0x1 20515 05a6 29 .uleb128 0x29 20516 05a7 F7 .byte 0xf7 20517 05a8 37 .uleb128 0x37 20518 05a9 F7 .byte 0xf7 20519 05aa 00 .uleb128 0 20520 05ab 9F .byte 0x9f 20521 05ac 00000000 .4byte 0 20522 05b0 00000000 .4byte 0 20523 .LVUS30: 20524 05b4 00 .uleb128 0 20525 05b5 00 .uleb128 .LVU235 20526 05b6 00 .uleb128 .LVU235 20527 05b7 00 .uleb128 .LVU237 ARM GAS /tmp/ccJhhmLc.s page 837 20528 05b8 00 .uleb128 .LVU237 20529 05b9 00 .uleb128 .LVU268 20530 05ba 00 .uleb128 .LVU268 20531 05bb 00 .uleb128 0 20532 .LLST30: 20533 05bc 00000000 .4byte .LVL43 20534 05c0 16000000 .4byte .LVL46 20535 05c4 0100 .2byte 0x1 20536 05c6 52 .byte 0x52 20537 05c7 16000000 .4byte .LVL46 20538 05cb 18000000 .4byte .LVL47 20539 05cf 0A00 .2byte 0xa 20540 05d1 F3 .byte 0xf3 20541 05d2 03 .uleb128 0x3 20542 05d3 F5 .byte 0xf5 20543 05d4 02 .uleb128 0x2 20544 05d5 29 .uleb128 0x29 20545 05d6 F7 .byte 0xf7 20546 05d7 30 .uleb128 0x30 20547 05d8 F7 .byte 0xf7 20548 05d9 00 .uleb128 0 20549 05da 9F .byte 0x9f 20550 05db 18000000 .4byte .LVL47 20551 05df 29000000 .4byte .LVL51-1 20552 05e3 0100 .2byte 0x1 20553 05e5 52 .byte 0x52 20554 05e6 29000000 .4byte .LVL51-1 20555 05ea 38000000 .4byte .LFE17 20556 05ee 0A00 .2byte 0xa 20557 05f0 F3 .byte 0xf3 20558 05f1 03 .uleb128 0x3 20559 05f2 F5 .byte 0xf5 20560 05f3 02 .uleb128 0x2 20561 05f4 29 .uleb128 0x29 20562 05f5 F7 .byte 0xf7 20563 05f6 30 .uleb128 0x30 20564 05f7 F7 .byte 0xf7 20565 05f8 00 .uleb128 0 20566 05f9 9F .byte 0x9f 20567 05fa 00000000 .4byte 0 20568 05fe 00000000 .4byte 0 20569 .LVUS31: 20570 0602 02 .uleb128 .LVU217 20571 0603 00 .uleb128 .LVU235 20572 0604 00 .uleb128 .LVU235 20573 0605 00 .uleb128 .LVU237 20574 0606 00 .uleb128 .LVU237 20575 0607 00 .uleb128 0 20576 .LLST31: 20577 0608 00000000 .4byte .LVL43 20578 060c 16000000 .4byte .LVL46 20579 0610 0200 .2byte 0x2 20580 0612 30 .byte 0x30 20581 0613 9F .byte 0x9f 20582 0614 16000000 .4byte .LVL46 20583 0618 18000000 .4byte .LVL47 20584 061c 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 838 20585 061e 50 .byte 0x50 20586 061f 18000000 .4byte .LVL47 20587 0623 38000000 .4byte .LFE17 20588 0627 0200 .2byte 0x2 20589 0629 30 .byte 0x30 20590 062a 9F .byte 0x9f 20591 062b 00000000 .4byte 0 20592 062f 00000000 .4byte 0 20593 .LVUS32: 20594 0633 02 .uleb128 .LVU222 20595 0634 02 .uleb128 .LVU229 20596 .LLST32: 20597 0635 0E000000 .4byte .LVL44 20598 0639 12000000 .4byte .LVL45 20599 063d 0100 .2byte 0x1 20600 063f 52 .byte 0x52 20601 0640 00000000 .4byte 0 20602 0644 00000000 .4byte 0 20603 .LVUS34: 20604 0648 05 .uleb128 .LVU225 20605 0649 00 .uleb128 .LVU227 20606 .LLST34: 20607 064a 0E000000 .4byte .LVL44 20608 064e 12000000 .4byte .LVL45 20609 0652 0600 .2byte 0x6 20610 0654 F2 .byte 0xf2 20611 0655 64030000 .4byte .Ldebug_info0+868 20612 0659 00 .sleb128 0 20613 065a 00000000 .4byte 0 20614 065e 00000000 .4byte 0 20615 .LVUS35: 20616 0662 03 .uleb128 .LVU249 20617 0663 00 .uleb128 .LVU264 20618 .LLST35: 20619 0664 1E000000 .4byte .LVL49 20620 0668 26000000 .4byte .LVL50 20621 066c 0100 .2byte 0x1 20622 066e 52 .byte 0x52 20623 066f 00000000 .4byte 0 20624 0673 00000000 .4byte 0 20625 .LVUS37: 20626 0677 0D .uleb128 .LVU259 20627 0678 00 .uleb128 .LVU264 20628 .LLST37: 20629 0679 1E000000 .4byte .LVL49 20630 067d 26000000 .4byte .LVL50 20631 0681 0200 .2byte 0x2 20632 0683 30 .byte 0x30 20633 0684 9F .byte 0x9f 20634 0685 00000000 .4byte 0 20635 0689 00000000 .4byte 0 20636 .LVUS38: 20637 068d 06 .uleb128 .LVU252 20638 068e 0D .uleb128 .LVU259 20639 .LLST38: 20640 068f 1E000000 .4byte .LVL49 20641 0693 1E000000 .4byte .LVL49 ARM GAS /tmp/ccJhhmLc.s page 839 20642 0697 0600 .2byte 0x6 20643 0699 F2 .byte 0xf2 20644 069a BD030000 .4byte .Ldebug_info0+957 20645 069e 00 .sleb128 0 20646 069f 00000000 .4byte 0 20647 06a3 00000000 .4byte 0 20648 .LVUS39: 20649 06a7 09 .uleb128 .LVU255 20650 06a8 0A .uleb128 .LVU256 20651 .LLST39: 20652 06a9 1E000000 .4byte .LVL49 20653 06ad 1E000000 .4byte .LVL49 20654 06b1 0600 .2byte 0x6 20655 06b3 F2 .byte 0xf2 20656 06b4 F4030000 .4byte .Ldebug_info0+1012 20657 06b8 00 .sleb128 0 20658 06b9 00000000 .4byte 0 20659 06bd 00000000 .4byte 0 20660 .LVUS40: 20661 06c1 02 .uleb128 .LVU239 20662 06c2 00 .uleb128 .LVU246 20663 .LLST40: 20664 06c3 18000000 .4byte .LVL47 20665 06c7 1E000000 .4byte .LVL49 20666 06cb 0100 .2byte 0x1 20667 06cd 52 .byte 0x52 20668 06ce 00000000 .4byte 0 20669 06d2 00000000 .4byte 0 20670 .LVUS42: 20671 06d6 05 .uleb128 .LVU242 20672 06d7 00 .uleb128 .LVU244 20673 .LLST42: 20674 06d8 18000000 .4byte .LVL47 20675 06dc 1C000000 .4byte .LVL48 20676 06e0 0600 .2byte 0x6 20677 06e2 F2 .byte 0xf2 20678 06e3 4B040000 .4byte .Ldebug_info0+1099 20679 06e7 00 .sleb128 0 20680 06e8 00000000 .4byte 0 20681 06ec 00000000 .4byte 0 20682 .LLST43: 20683 06f0 00000000 .4byte .LFB24 20684 06f4 04000000 .4byte .LCFI5 20685 06f8 0200 .2byte 0x2 20686 06fa 7D .byte 0x7d 20687 06fb 00 .sleb128 0 20688 06fc 04000000 .4byte .LCFI5 20689 0700 1C000000 .4byte .LFE24 20690 0704 0200 .2byte 0x2 20691 0706 7D .byte 0x7d 20692 0707 08 .sleb128 8 20693 0708 00000000 .4byte 0 20694 070c 00000000 .4byte 0 20695 .LVUS44: 20696 0710 00 .uleb128 0 20697 0711 00 .uleb128 .LVU276 20698 0712 00 .uleb128 .LVU276 ARM GAS /tmp/ccJhhmLc.s page 840 20699 0713 00 .uleb128 0 20700 .LLST44: 20701 0714 00000000 .4byte .LVL52 20702 0718 0D000000 .4byte .LVL53-1 20703 071c 0100 .2byte 0x1 20704 071e 50 .byte 0x50 20705 071f 0D000000 .4byte .LVL53-1 20706 0723 1C000000 .4byte .LFE24 20707 0727 0100 .2byte 0x1 20708 0729 54 .byte 0x54 20709 072a 00000000 .4byte 0 20710 072e 00000000 .4byte 0 20711 .LVUS45: 20712 0732 00 .uleb128 0 20713 0733 00 .uleb128 .LVU276 20714 0734 00 .uleb128 .LVU276 20715 0735 00 .uleb128 0 20716 .LLST45: 20717 0736 00000000 .4byte .LVL52 20718 073a 0D000000 .4byte .LVL53-1 20719 073e 0100 .2byte 0x1 20720 0740 51 .byte 0x51 20721 0741 0D000000 .4byte .LVL53-1 20722 0745 1C000000 .4byte .LFE24 20723 0749 0A00 .2byte 0xa 20724 074b F3 .byte 0xf3 20725 074c 03 .uleb128 0x3 20726 074d F5 .byte 0xf5 20727 074e 01 .uleb128 0x1 20728 074f 29 .uleb128 0x29 20729 0750 F7 .byte 0xf7 20730 0751 30 .uleb128 0x30 20731 0752 F7 .byte 0xf7 20732 0753 00 .uleb128 0 20733 0754 9F .byte 0x9f 20734 0755 00000000 .4byte 0 20735 0759 00000000 .4byte 0 20736 .LVUS46: 20737 075d 00 .uleb128 .LVU277 20738 075e 00 .uleb128 .LVU280 20739 .LLST46: 20740 075f 10000000 .4byte .LVL54 20741 0763 1A000000 .4byte .LVL56 20742 0767 0100 .2byte 0x1 20743 0769 54 .byte 0x54 20744 076a 00000000 .4byte 0 20745 076e 00000000 .4byte 0 20746 .LLST47: 20747 0772 00000000 .4byte .LFB27 20748 0776 02000000 .4byte .LCFI6 20749 077a 0200 .2byte 0x2 20750 077c 7D .byte 0x7d 20751 077d 00 .sleb128 0 20752 077e 02000000 .4byte .LCFI6 20753 0782 14000000 .4byte .LCFI7 20754 0786 0200 .2byte 0x2 20755 0788 7D .byte 0x7d ARM GAS /tmp/ccJhhmLc.s page 841 20756 0789 08 .sleb128 8 20757 078a 14000000 .4byte .LCFI7 20758 078e 18000000 .4byte .LCFI8 20759 0792 0200 .2byte 0x2 20760 0794 7D .byte 0x7d 20761 0795 00 .sleb128 0 20762 0796 18000000 .4byte .LCFI8 20763 079a 1A000000 .4byte .LFE27 20764 079e 0200 .2byte 0x2 20765 07a0 7D .byte 0x7d 20766 07a1 08 .sleb128 8 20767 07a2 00000000 .4byte 0 20768 07a6 00000000 .4byte 0 20769 .LVUS48: 20770 07aa 00 .uleb128 0 20771 07ab 00 .uleb128 .LVU287 20772 07ac 00 .uleb128 .LVU287 20773 07ad 00 .uleb128 .LVU292 20774 07ae 00 .uleb128 .LVU292 20775 07af 00 .uleb128 .LVU293 20776 07b0 00 .uleb128 .LVU293 20777 07b1 00 .uleb128 0 20778 .LLST48: 20779 07b2 00000000 .4byte .LVL57 20780 07b6 07000000 .4byte .LVL58-1 20781 07ba 0100 .2byte 0x1 20782 07bc 50 .byte 0x50 20783 07bd 07000000 .4byte .LVL58-1 20784 07c1 14000000 .4byte .LVL60 20785 07c5 0100 .2byte 0x1 20786 07c7 54 .byte 0x54 20787 07c8 14000000 .4byte .LVL60 20788 07cc 18000000 .4byte .LVL61 20789 07d0 0A00 .2byte 0xa 20790 07d2 F3 .byte 0xf3 20791 07d3 03 .uleb128 0x3 20792 07d4 F5 .byte 0xf5 20793 07d5 00 .uleb128 0 20794 07d6 29 .uleb128 0x29 20795 07d7 F7 .byte 0xf7 20796 07d8 30 .uleb128 0x30 20797 07d9 F7 .byte 0xf7 20798 07da 00 .uleb128 0 20799 07db 9F .byte 0x9f 20800 07dc 18000000 .4byte .LVL61 20801 07e0 1A000000 .4byte .LFE27 20802 07e4 0100 .2byte 0x1 20803 07e6 54 .byte 0x54 20804 07e7 00000000 .4byte 0 20805 07eb 00000000 .4byte 0 20806 .LVUS49: 20807 07ef 00 .uleb128 .LVU288 20808 07f0 00 .uleb128 .LVU292 20809 07f1 00 .uleb128 .LVU292 20810 07f2 00 .uleb128 .LVU293 20811 .LLST49: 20812 07f3 0A000000 .4byte .LVL59 ARM GAS /tmp/ccJhhmLc.s page 842 20813 07f7 14000000 .4byte .LVL60 20814 07fb 0100 .2byte 0x1 20815 07fd 54 .byte 0x54 20816 07fe 14000000 .4byte .LVL60 20817 0802 18000000 .4byte .LVL61 20818 0806 0A00 .2byte 0xa 20819 0808 F3 .byte 0xf3 20820 0809 03 .uleb128 0x3 20821 080a F5 .byte 0xf5 20822 080b 00 .uleb128 0 20823 080c 29 .uleb128 0x29 20824 080d F7 .byte 0xf7 20825 080e 30 .uleb128 0x30 20826 080f F7 .byte 0xf7 20827 0810 00 .uleb128 0 20828 0811 9F .byte 0x9f 20829 0812 00000000 .4byte 0 20830 0816 00000000 .4byte 0 20831 .LLST50: 20832 081a 00000000 .4byte .LFB29 20833 081e 02000000 .4byte .LCFI9 20834 0822 0200 .2byte 0x2 20835 0824 7D .byte 0x7d 20836 0825 00 .sleb128 0 20837 0826 02000000 .4byte .LCFI9 20838 082a A4010000 .4byte .LCFI10 20839 082e 0200 .2byte 0x2 20840 0830 7D .byte 0x7d 20841 0831 10 .sleb128 16 20842 0832 A4010000 .4byte .LCFI10 20843 0836 AA010000 .4byte .LCFI11 20844 083a 0200 .2byte 0x2 20845 083c 7D .byte 0x7d 20846 083d 00 .sleb128 0 20847 083e AA010000 .4byte .LCFI11 20848 0842 E8010000 .4byte .LFE29 20849 0846 0200 .2byte 0x2 20850 0848 7D .byte 0x7d 20851 0849 10 .sleb128 16 20852 084a 00000000 .4byte 0 20853 084e 00000000 .4byte 0 20854 .LVUS52: 20855 0852 00 .uleb128 .LVU341 20856 0853 00 .uleb128 .LVU344 20857 0854 00 .uleb128 .LVU363 20858 0855 00 .uleb128 .LVU366 20859 .LLST52: 20860 0856 7A000000 .4byte .LVL77 20861 085a 80000000 .4byte .LVL78 20862 085e 0100 .2byte 0x1 20863 0860 50 .byte 0x50 20864 0861 B0000000 .4byte .LVL84 20865 0865 B6000000 .4byte .LVL85 20866 0869 0100 .2byte 0x1 20867 086b 50 .byte 0x50 20868 086c 00000000 .4byte 0 20869 0870 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 843 20870 .LVUS53: 20871 0874 00 .uleb128 .LVU305 20872 0875 00 .uleb128 .LVU312 20873 0876 00 .uleb128 .LVU332 20874 0877 00 .uleb128 .LVU356 20875 0878 00 .uleb128 .LVU359 20876 0879 00 .uleb128 .LVU432 20877 087a 00 .uleb128 .LVU444 20878 087b 00 .uleb128 .LVU445 20879 .LLST53: 20880 087c 08000000 .4byte .LVL63 20881 0880 1E000000 .4byte .LVL66 20882 0884 0100 .2byte 0x1 20883 0886 56 .byte 0x56 20884 0887 4A000000 .4byte .LVL76 20885 088b 9E000000 .4byte .LVL82 20886 088f 0100 .2byte 0x1 20887 0891 56 .byte 0x56 20888 0892 A2000000 .4byte .LVL83 20889 0896 94010000 .4byte .LVL99 20890 089a 0100 .2byte 0x1 20891 089c 56 .byte 0x56 20892 089d AA010000 .4byte .LVL102 20893 08a1 AE010000 .4byte .LVL103 20894 08a5 0100 .2byte 0x1 20895 08a7 56 .byte 0x56 20896 08a8 00000000 .4byte 0 20897 08ac 00000000 .4byte 0 20898 .LVUS55: 20899 08b0 00 .uleb128 .LVU316 20900 08b1 00 .uleb128 .LVU322 20901 .LLST55: 20902 08b2 24000000 .4byte .LVL68 20903 08b6 32000000 .4byte .LVL71 20904 08ba 0100 .2byte 0x1 20905 08bc 52 .byte 0x52 20906 08bd 00000000 .4byte 0 20907 08c1 00000000 .4byte 0 20908 .LVUS56: 20909 08c5 00 .uleb128 .LVU310 20910 08c6 00 .uleb128 .LVU312 20911 .LLST56: 20912 08c7 14000000 .4byte .LVL65 20913 08cb 1E000000 .4byte .LVL66 20914 08cf 0100 .2byte 0x1 20915 08d1 50 .byte 0x50 20916 08d2 00000000 .4byte 0 20917 08d6 00000000 .4byte 0 20918 .LVUS57: 20919 08da 00 .uleb128 .LVU312 20920 08db 00 .uleb128 .LVU318 20921 08dc 00 .uleb128 .LVU318 20922 08dd 00 .uleb128 .LVU320 20923 08de 00 .uleb128 .LVU320 20924 08df 00 .uleb128 .LVU323 20925 08e0 00 .uleb128 .LVU323 20926 08e1 00 .uleb128 .LVU324 ARM GAS /tmp/ccJhhmLc.s page 844 20927 08e2 00 .uleb128 .LVU324 20928 08e3 00 .uleb128 .LVU325 20929 08e4 00 .uleb128 .LVU325 20930 08e5 00 .uleb128 .LVU330 20931 .LLST57: 20932 08e6 1E000000 .4byte .LVL66 20933 08ea 28000000 .4byte .LVL69 20934 08ee 0300 .2byte 0x3 20935 08f0 73 .byte 0x73 20936 08f1 7C .sleb128 -4 20937 08f2 9F .byte 0x9f 20938 08f3 28000000 .4byte .LVL69 20939 08f7 2E000000 .4byte .LVL70 20940 08fb 0300 .2byte 0x3 20941 08fd 73 .byte 0x73 20942 08fe 7D .sleb128 -3 20943 08ff 9F .byte 0x9f 20944 0900 2E000000 .4byte .LVL70 20945 0904 36000000 .4byte .LVL72 20946 0908 0300 .2byte 0x3 20947 090a 73 .byte 0x73 20948 090b 7E .sleb128 -2 20949 090c 9F .byte 0x9f 20950 090d 36000000 .4byte .LVL72 20951 0911 3A000000 .4byte .LVL73 20952 0915 0300 .2byte 0x3 20953 0917 73 .byte 0x73 20954 0918 7F .sleb128 -1 20955 0919 9F .byte 0x9f 20956 091a 3A000000 .4byte .LVL73 20957 091e 3C000000 .4byte .LVL74 20958 0922 0100 .2byte 0x1 20959 0924 53 .byte 0x53 20960 0925 3C000000 .4byte .LVL74 20961 0929 48000000 .4byte .LVL75 20962 092d 0300 .2byte 0x3 20963 092f 73 .byte 0x73 20964 0930 7C .sleb128 -4 20965 0931 9F .byte 0x9f 20966 0932 00000000 .4byte 0 20967 0936 00000000 .4byte 0 20968 .LVUS58: 20969 093a 00 .uleb128 .LVU313 20970 093b 00 .uleb128 .LVU316 20971 .LLST58: 20972 093c 20000000 .4byte .LVL67 20973 0940 24000000 .4byte .LVL68 20974 0944 0100 .2byte 0x1 20975 0946 52 .byte 0x52 20976 0947 00000000 .4byte 0 20977 094b 00000000 .4byte 0 20978 .LVUS61: 20979 094f 00 .uleb128 .LVU433 20980 0950 01 .uleb128 .LVU442 20981 0951 00 .uleb128 .LVU448 20982 0952 00 .uleb128 .LVU454 20983 .LLST61: ARM GAS /tmp/ccJhhmLc.s page 845 20984 0953 96010000 .4byte .LVL100 20985 0957 A6010000 .4byte .LVL101 20986 095b 0100 .2byte 0x1 20987 095d 50 .byte 0x50 20988 095e B6010000 .4byte .LVL104 20989 0962 C6010000 .4byte .LVL105 20990 0966 0100 .2byte 0x1 20991 0968 50 .byte 0x50 20992 0969 00000000 .4byte 0 20993 096d 00000000 .4byte 0 20994 .LVUS62: 20995 0971 00 .uleb128 .LVU448 20996 0972 00 .uleb128 .LVU454 20997 .LLST62: 20998 0973 B6010000 .4byte .LVL104 20999 0977 C6010000 .4byte .LVL105 21000 097b 0100 .2byte 0x1 21001 097d 50 .byte 0x50 21002 097e 00000000 .4byte 0 21003 0982 00000000 .4byte 0 21004 .LVUS66: 21005 0986 00 .uleb128 .LVU386 21006 0987 00 .uleb128 .LVU388 21007 .LLST66: 21008 0988 EE000000 .4byte .LVL93 21009 098c F2000000 .4byte .LVL94 21010 0990 2600 .2byte 0x26 21011 0992 73 .byte 0x73 21012 0993 7D .sleb128 -3 21013 0994 94 .byte 0x94 21014 0995 01 .byte 0x1 21015 0996 08 .byte 0x8 21016 0997 FF .byte 0xff 21017 0998 1A .byte 0x1a 21018 0999 38 .byte 0x38 21019 099a 24 .byte 0x24 21020 099b 73 .byte 0x73 21021 099c 7E .sleb128 -2 21022 099d 94 .byte 0x94 21023 099e 01 .byte 0x1 21024 099f 08 .byte 0x8 21025 09a0 FF .byte 0xff 21026 09a1 1A .byte 0x1a 21027 09a2 40 .byte 0x40 21028 09a3 24 .byte 0x24 21029 09a4 21 .byte 0x21 21030 09a5 73 .byte 0x73 21031 09a6 7F .sleb128 -1 21032 09a7 94 .byte 0x94 21033 09a8 01 .byte 0x1 21034 09a9 08 .byte 0x8 21035 09aa FF .byte 0xff 21036 09ab 1A .byte 0x1a 21037 09ac 48 .byte 0x48 21038 09ad 24 .byte 0x24 21039 09ae 21 .byte 0x21 21040 09af 73 .byte 0x73 ARM GAS /tmp/ccJhhmLc.s page 846 21041 09b0 7C .sleb128 -4 21042 09b1 94 .byte 0x94 21043 09b2 01 .byte 0x1 21044 09b3 08 .byte 0x8 21045 09b4 FF .byte 0xff 21046 09b5 1A .byte 0x1a 21047 09b6 21 .byte 0x21 21048 09b7 9F .byte 0x9f 21049 09b8 00000000 .4byte 0 21050 09bc 00000000 .4byte 0 21051 .LVUS67: 21052 09c0 00 .uleb128 .LVU383 21053 09c1 00 .uleb128 .LVU385 21054 .LLST67: 21055 09c2 E0000000 .4byte .LVL91 21056 09c6 EA000000 .4byte .LVL92 21057 09ca 0100 .2byte 0x1 21058 09cc 52 .byte 0x52 21059 09cd 00000000 .4byte 0 21060 09d1 00000000 .4byte 0 21061 .LVUS68: 21062 09d5 00 .uleb128 .LVU385 21063 09d6 00 .uleb128 .LVU393 21064 .LLST68: 21065 09d7 EA000000 .4byte .LVL92 21066 09db FE000000 .4byte .LVL95 21067 09df 0100 .2byte 0x1 21068 09e1 53 .byte 0x53 21069 09e2 00000000 .4byte 0 21070 09e6 00000000 .4byte 0 21071 .LVUS69: 21072 09ea 01 .uleb128 .LVU387 21073 09eb 00 .uleb128 .LVU388 21074 .LLST69: 21075 09ec EE000000 .4byte .LVL93 21076 09f0 F2000000 .4byte .LVL94 21077 09f4 0600 .2byte 0x6 21078 09f6 F2 .byte 0xf2 21079 09f7 0D070000 .4byte .Ldebug_info0+1805 21080 09fb 00 .sleb128 0 21081 09fc 00000000 .4byte 0 21082 0a00 00000000 .4byte 0 21083 .LVUS70: 21084 0a04 00 .uleb128 .LVU386 21085 0a05 00 .uleb128 .LVU388 21086 .LLST70: 21087 0a06 EE000000 .4byte .LVL93 21088 0a0a F2000000 .4byte .LVL94 21089 0a0e 0100 .2byte 0x1 21090 0a10 55 .byte 0x55 21091 0a11 00000000 .4byte 0 21092 0a15 00000000 .4byte 0 21093 .LLST72: 21094 0a19 00000000 .4byte .LFB49 21095 0a1d 02000000 .4byte .LCFI12 21096 0a21 0200 .2byte 0x2 21097 0a23 7D .byte 0x7d ARM GAS /tmp/ccJhhmLc.s page 847 21098 0a24 00 .sleb128 0 21099 0a25 02000000 .4byte .LCFI12 21100 0a29 EA000000 .4byte .LCFI13 21101 0a2d 0200 .2byte 0x2 21102 0a2f 7D .byte 0x7d 21103 0a30 20 .sleb128 32 21104 0a31 EA000000 .4byte .LCFI13 21105 0a35 EE000000 .4byte .LCFI14 21106 0a39 0200 .2byte 0x2 21107 0a3b 7D .byte 0x7d 21108 0a3c 14 .sleb128 20 21109 0a3d EE000000 .4byte .LCFI14 21110 0a41 F0000000 .4byte .LCFI15 21111 0a45 0200 .2byte 0x2 21112 0a47 7D .byte 0x7d 21113 0a48 00 .sleb128 0 21114 0a49 F0000000 .4byte .LCFI15 21115 0a4d 74010000 .4byte .LCFI16 21116 0a51 0200 .2byte 0x2 21117 0a53 7D .byte 0x7d 21118 0a54 20 .sleb128 32 21119 0a55 74010000 .4byte .LCFI16 21120 0a59 80010000 .4byte .LFE49 21121 0a5d 0200 .2byte 0x2 21122 0a5f 7D .byte 0x7d 21123 0a60 14 .sleb128 20 21124 0a61 00000000 .4byte 0 21125 0a65 00000000 .4byte 0 21126 .LVUS73: 21127 0a69 00 .uleb128 .LVU475 21128 0a6a 00 .uleb128 .LVU516 21129 0a6b 00 .uleb128 .LVU538 21130 0a6c 00 .uleb128 .LVU542 21131 .LLST73: 21132 0a6d 12000000 .4byte .LVL109 21133 0a71 A2000000 .4byte .LVL111 21134 0a75 0100 .2byte 0x1 21135 0a77 56 .byte 0x56 21136 0a78 F0000000 .4byte .LVL114 21137 0a7c 00010000 .4byte .LVL115 21138 0a80 0100 .2byte 0x1 21139 0a82 56 .byte 0x56 21140 0a83 00000000 .4byte 0 21141 0a87 00000000 .4byte 0 21142 .LVUS74: 21143 0a8b 00 .uleb128 .LVU473 21144 0a8c 00 .uleb128 .LVU534 21145 0a8d 00 .uleb128 .LVU538 21146 0a8e 00 .uleb128 .LVU554 21147 0a8f 00 .uleb128 .LVU563 21148 0a90 00 .uleb128 .LVU570 21149 .LLST74: 21150 0a91 0E000000 .4byte .LVL108 21151 0a95 E2000000 .4byte .LVL112 21152 0a99 0D00 .2byte 0xd 21153 0a9b 77 .byte 0x77 21154 0a9c 00 .sleb128 0 ARM GAS /tmp/ccJhhmLc.s page 848 21155 0a9d F7 .byte 0xf7 21156 0a9e 30 .uleb128 0x30 21157 0a9f 0A .byte 0xa 21158 0aa0 8025 .2byte 0x2580 21159 0aa2 F7 .byte 0xf7 21160 0aa3 30 .uleb128 0x30 21161 0aa4 1B .byte 0x1b 21162 0aa5 F7 .byte 0xf7 21163 0aa6 00 .uleb128 0 21164 0aa7 9F .byte 0x9f 21165 0aa8 F0000000 .4byte .LVL114 21166 0aac 26010000 .4byte .LVL117 21167 0ab0 0D00 .2byte 0xd 21168 0ab2 77 .byte 0x77 21169 0ab3 00 .sleb128 0 21170 0ab4 F7 .byte 0xf7 21171 0ab5 30 .uleb128 0x30 21172 0ab6 0A .byte 0xa 21173 0ab7 8025 .2byte 0x2580 21174 0ab9 F7 .byte 0xf7 21175 0aba 30 .uleb128 0x30 21176 0abb 1B .byte 0x1b 21177 0abc F7 .byte 0xf7 21178 0abd 00 .uleb128 0 21179 0abe 9F .byte 0x9f 21180 0abf 54010000 .4byte .LVL118 21181 0ac3 72010000 .4byte .LVL119 21182 0ac7 0D00 .2byte 0xd 21183 0ac9 77 .byte 0x77 21184 0aca 00 .sleb128 0 21185 0acb F7 .byte 0xf7 21186 0acc 30 .uleb128 0x30 21187 0acd 0A .byte 0xa 21188 0ace 8025 .2byte 0x2580 21189 0ad0 F7 .byte 0xf7 21190 0ad1 30 .uleb128 0x30 21191 0ad2 1B .byte 0x1b 21192 0ad3 F7 .byte 0xf7 21193 0ad4 00 .uleb128 0 21194 0ad5 9F .byte 0x9f 21195 0ad6 00000000 .4byte 0 21196 0ada 00000000 .4byte 0 21197 .LVUS75: 21198 0ade 00 .uleb128 .LVU473 21199 0adf 00 .uleb128 .LVU537 21200 0ae0 00 .uleb128 .LVU538 21201 0ae1 00 .uleb128 .LVU572 21202 .LLST75: 21203 0ae2 0E000000 .4byte .LVL108 21204 0ae6 EE000000 .4byte .LVL113 21205 0aea 0100 .2byte 0x1 21206 0aec 55 .byte 0x55 21207 0aed F0000000 .4byte .LVL114 21208 0af1 76010000 .4byte .LVL120 21209 0af5 0100 .2byte 0x1 21210 0af7 55 .byte 0x55 21211 0af8 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 849 21212 0afc 00000000 .4byte 0 21213 .LLST77: 21214 0b00 00000000 .4byte .LFB57 21215 0b04 04000000 .4byte .LCFI17 21216 0b08 0200 .2byte 0x2 21217 0b0a 7D .byte 0x7d 21218 0b0b 00 .sleb128 0 21219 0b0c 04000000 .4byte .LCFI17 21220 0b10 06000000 .4byte .LCFI18 21221 0b14 0200 .2byte 0x2 21222 0b16 7D .byte 0x7d 21223 0b17 24 .sleb128 36 21224 0b18 06000000 .4byte .LCFI18 21225 0b1c 5A000000 .4byte .LCFI19 21226 0b20 0300 .2byte 0x3 21227 0b22 7D .byte 0x7d 21228 0b23 C800 .sleb128 72 21229 0b25 5A000000 .4byte .LCFI19 21230 0b29 5E000000 .4byte .LCFI20 21231 0b2d 0200 .2byte 0x2 21232 0b2f 7D .byte 0x7d 21233 0b30 24 .sleb128 36 21234 0b31 5E000000 .4byte .LCFI20 21235 0b35 54020000 .4byte .LFE57 21236 0b39 0300 .2byte 0x3 21237 0b3b 7D .byte 0x7d 21238 0b3c C800 .sleb128 72 21239 0b3e 00000000 .4byte 0 21240 0b42 00000000 .4byte 0 21241 .LVUS78: 21242 0b46 00 .uleb128 0 21243 0b47 00 .uleb128 .LVU591 21244 0b48 00 .uleb128 .LVU591 21245 0b49 00 .uleb128 .LVU618 21246 0b4a 00 .uleb128 .LVU618 21247 0b4b 00 .uleb128 .LVU763 21248 0b4c 00 .uleb128 .LVU763 21249 0b4d 00 .uleb128 0 21250 .LLST78: 21251 0b4e 00000000 .4byte .LVL123 21252 0b52 24000000 .4byte .LVL125 21253 0b56 0100 .2byte 0x1 21254 0b58 50 .byte 0x50 21255 0b59 24000000 .4byte .LVL125 21256 0b5d 5E000000 .4byte .LVL131 21257 0b61 0100 .2byte 0x1 21258 0b63 55 .byte 0x55 21259 0b64 5E000000 .4byte .LVL131 21260 0b68 34020000 .4byte .LVL153 21261 0b6c 0A00 .2byte 0xa 21262 0b6e F3 .byte 0xf3 21263 0b6f 03 .uleb128 0x3 21264 0b70 F5 .byte 0xf5 21265 0b71 00 .uleb128 0 21266 0b72 29 .uleb128 0x29 21267 0b73 F7 .byte 0xf7 21268 0b74 37 .uleb128 0x37 ARM GAS /tmp/ccJhhmLc.s page 850 21269 0b75 F7 .byte 0xf7 21270 0b76 00 .uleb128 0 21271 0b77 9F .byte 0x9f 21272 0b78 34020000 .4byte .LVL153 21273 0b7c 54020000 .4byte .LFE57 21274 0b80 0100 .2byte 0x1 21275 0b82 50 .byte 0x50 21276 0b83 00000000 .4byte 0 21277 0b87 00000000 .4byte 0 21278 .LVUS79: 21279 0b8b 00 .uleb128 0 21280 0b8c 00 .uleb128 .LVU592 21281 0b8d 00 .uleb128 .LVU592 21282 0b8e 00 .uleb128 .LVU763 21283 0b8f 00 .uleb128 .LVU763 21284 0b90 00 .uleb128 0 21285 .LLST79: 21286 0b91 00000000 .4byte .LVL123 21287 0b95 27000000 .4byte .LVL126-1 21288 0b99 0100 .2byte 0x1 21289 0b9b 51 .byte 0x51 21290 0b9c 27000000 .4byte .LVL126-1 21291 0ba0 34020000 .4byte .LVL153 21292 0ba4 0200 .2byte 0x2 21293 0ba6 91 .byte 0x91 21294 0ba7 40 .sleb128 -64 21295 0ba8 34020000 .4byte .LVL153 21296 0bac 54020000 .4byte .LFE57 21297 0bb0 0100 .2byte 0x1 21298 0bb2 51 .byte 0x51 21299 0bb3 00000000 .4byte 0 21300 0bb7 00000000 .4byte 0 21301 .LVUS80: 21302 0bbb 00 .uleb128 0 21303 0bbc 00 .uleb128 .LVU592 21304 0bbd 00 .uleb128 .LVU592 21305 0bbe 00 .uleb128 .LVU763 21306 0bbf 00 .uleb128 .LVU763 21307 0bc0 00 .uleb128 0 21308 .LLST80: 21309 0bc1 00000000 .4byte .LVL123 21310 0bc5 27000000 .4byte .LVL126-1 21311 0bc9 0100 .2byte 0x1 21312 0bcb 52 .byte 0x52 21313 0bcc 27000000 .4byte .LVL126-1 21314 0bd0 34020000 .4byte .LVL153 21315 0bd4 0200 .2byte 0x2 21316 0bd6 91 .byte 0x91 21317 0bd7 44 .sleb128 -60 21318 0bd8 34020000 .4byte .LVL153 21319 0bdc 54020000 .4byte .LFE57 21320 0be0 0100 .2byte 0x1 21321 0be2 52 .byte 0x52 21322 0be3 00000000 .4byte 0 21323 0be7 00000000 .4byte 0 21324 .LVUS81: 21325 0beb 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 851 21326 0bec 00 .uleb128 .LVU592 21327 0bed 00 .uleb128 .LVU592 21328 0bee 00 .uleb128 .LVU614 21329 0bef 00 .uleb128 .LVU614 21330 0bf0 00 .uleb128 .LVU763 21331 0bf1 00 .uleb128 .LVU763 21332 0bf2 00 .uleb128 0 21333 .LLST81: 21334 0bf3 00000000 .4byte .LVL123 21335 0bf7 27000000 .4byte .LVL126-1 21336 0bfb 0100 .2byte 0x1 21337 0bfd 53 .byte 0x53 21338 0bfe 27000000 .4byte .LVL126-1 21339 0c02 4C000000 .4byte .LVL129 21340 0c06 0100 .2byte 0x1 21341 0c08 5A .byte 0x5a 21342 0c09 4C000000 .4byte .LVL129 21343 0c0d 34020000 .4byte .LVL153 21344 0c11 0A00 .2byte 0xa 21345 0c13 F3 .byte 0xf3 21346 0c14 03 .uleb128 0x3 21347 0c15 F5 .byte 0xf5 21348 0c16 03 .uleb128 0x3 21349 0c17 29 .uleb128 0x29 21350 0c18 F7 .byte 0xf7 21351 0c19 3E .uleb128 0x3e 21352 0c1a F7 .byte 0xf7 21353 0c1b 00 .uleb128 0 21354 0c1c 9F .byte 0x9f 21355 0c1d 34020000 .4byte .LVL153 21356 0c21 54020000 .4byte .LFE57 21357 0c25 0100 .2byte 0x1 21358 0c27 53 .byte 0x53 21359 0c28 00000000 .4byte 0 21360 0c2c 00000000 .4byte 0 21361 .LVUS82: 21362 0c30 00 .uleb128 0 21363 0c31 00 .uleb128 .LVU614 21364 0c32 00 .uleb128 .LVU618 21365 0c33 00 .uleb128 .LVU656 21366 0c34 00 .uleb128 .LVU657 21367 0c35 00 .uleb128 .LVU660 21368 0c36 00 .uleb128 .LVU763 21369 0c37 00 .uleb128 0 21370 .LLST82: 21371 0c38 00000000 .4byte .LVL123 21372 0c3c 4C000000 .4byte .LVL129 21373 0c40 0200 .2byte 0x2 21374 0c42 91 .byte 0x91 21375 0c43 00 .sleb128 0 21376 0c44 5E000000 .4byte .LVL131 21377 0c48 D6000000 .4byte .LVL135 21378 0c4c 0200 .2byte 0x2 21379 0c4e 91 .byte 0x91 21380 0c4f 00 .sleb128 0 21381 0c50 D8000000 .4byte .LVL136 21382 0c54 DE000000 .4byte .LVL137 ARM GAS /tmp/ccJhhmLc.s page 852 21383 0c58 0200 .2byte 0x2 21384 0c5a 91 .byte 0x91 21385 0c5b 00 .sleb128 0 21386 0c5c 34020000 .4byte .LVL153 21387 0c60 54020000 .4byte .LFE57 21388 0c64 0200 .2byte 0x2 21389 0c66 91 .byte 0x91 21390 0c67 00 .sleb128 0 21391 0c68 00000000 .4byte 0 21392 0c6c 00000000 .4byte 0 21393 .LVUS83: 21394 0c70 00 .uleb128 .LVU587 21395 0c71 00 .uleb128 .LVU617 21396 0c72 00 .uleb128 .LVU618 21397 0c73 00 .uleb128 .LVU763 21398 .LLST83: 21399 0c74 22000000 .4byte .LVL124 21400 0c78 56000000 .4byte .LVL130 21401 0c7c 0100 .2byte 0x1 21402 0c7e 56 .byte 0x56 21403 0c7f 5E000000 .4byte .LVL131 21404 0c83 34020000 .4byte .LVL153 21405 0c87 0100 .2byte 0x1 21406 0c89 56 .byte 0x56 21407 0c8a 00000000 .4byte 0 21408 0c8e 00000000 .4byte 0 21409 .LVUS84: 21410 0c92 02 .uleb128 .LVU579 21411 0c93 00 .uleb128 .LVU587 21412 0c94 00 .uleb128 .LVU763 21413 0c95 00 .uleb128 .LVU765 21414 .LLST84: 21415 0c96 00000000 .4byte .LVL123 21416 0c9a 22000000 .4byte .LVL124 21417 0c9e 0100 .2byte 0x1 21418 0ca0 50 .byte 0x50 21419 0ca1 34020000 .4byte .LVL153 21420 0ca5 38020000 .4byte .LVL154 21421 0ca9 0100 .2byte 0x1 21422 0cab 50 .byte 0x50 21423 0cac 00000000 .4byte 0 21424 0cb0 00000000 .4byte 0 21425 .LVUS85: 21426 0cb4 01 .uleb128 .LVU593 21427 0cb5 00 .uleb128 .LVU600 21428 .LLST85: 21429 0cb6 28000000 .4byte .LVL126 21430 0cba 3C000000 .4byte .LVL127 21431 0cbe 0900 .2byte 0x9 21432 0cc0 77 .byte 0x77 21433 0cc1 00 .sleb128 0 21434 0cc2 03 .byte 0x3 21435 0cc3 58000000 .4byte _ZL9_i2c_devs+88 21436 0cc7 22 .byte 0x22 21437 0cc8 9F .byte 0x9f 21438 0cc9 00000000 .4byte 0 21439 0ccd 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 853 21440 .LVUS86: 21441 0cd1 02 .uleb128 .LVU602 21442 0cd2 00 .uleb128 .LVU614 21443 0cd3 00 .uleb128 .LVU618 21444 0cd4 00 .uleb128 .LVU672 21445 0cd5 00 .uleb128 .LVU673 21446 0cd6 04 .uleb128 .LVU705 21447 0cd7 00 .uleb128 .LVU707 21448 0cd8 00 .uleb128 .LVU724 21449 0cd9 00 .uleb128 .LVU725 21450 0cda 00 .uleb128 .LVU763 21451 .LLST86: 21452 0cdb 3C000000 .4byte .LVL127 21453 0cdf 4C000000 .4byte .LVL129 21454 0ce3 0100 .2byte 0x1 21455 0ce5 56 .byte 0x56 21456 0ce6 5E000000 .4byte .LVL131 21457 0cea 0C010000 .4byte .LVL141 21458 0cee 0100 .2byte 0x1 21459 0cf0 56 .byte 0x56 21460 0cf1 0E010000 .4byte .LVL142 21461 0cf5 72010000 .4byte .LVL145 21462 0cf9 0100 .2byte 0x1 21463 0cfb 56 .byte 0x56 21464 0cfc 76010000 .4byte .LVL146 21465 0d00 BE010000 .4byte .LVL150 21466 0d04 0100 .2byte 0x1 21467 0d06 56 .byte 0x56 21468 0d07 C0010000 .4byte .LVL151 21469 0d0b 34020000 .4byte .LVL153 21470 0d0f 0100 .2byte 0x1 21471 0d11 56 .byte 0x56 21472 0d12 00000000 .4byte 0 21473 0d16 00000000 .4byte 0 21474 .LVUS87: 21475 0d1a 02 .uleb128 .LVU602 21476 0d1b 00 .uleb128 .LVU614 21477 0d1c 00 .uleb128 .LVU618 21478 0d1d 00 .uleb128 .LVU672 21479 0d1e 00 .uleb128 .LVU673 21480 0d1f 04 .uleb128 .LVU705 21481 0d20 00 .uleb128 .LVU707 21482 0d21 00 .uleb128 .LVU724 21483 0d22 00 .uleb128 .LVU725 21484 0d23 00 .uleb128 .LVU763 21485 .LLST87: 21486 0d24 3C000000 .4byte .LVL127 21487 0d28 4C000000 .4byte .LVL129 21488 0d2c 0700 .2byte 0x7 21489 0d2e 91 .byte 0x91 21490 0d2f 40 .sleb128 -64 21491 0d30 94 .byte 0x94 21492 0d31 02 .byte 0x2 21493 0d32 31 .byte 0x31 21494 0d33 24 .byte 0x24 21495 0d34 9F .byte 0x9f 21496 0d35 5E000000 .4byte .LVL131 ARM GAS /tmp/ccJhhmLc.s page 854 21497 0d39 0C010000 .4byte .LVL141 21498 0d3d 0700 .2byte 0x7 21499 0d3f 91 .byte 0x91 21500 0d40 40 .sleb128 -64 21501 0d41 94 .byte 0x94 21502 0d42 02 .byte 0x2 21503 0d43 31 .byte 0x31 21504 0d44 24 .byte 0x24 21505 0d45 9F .byte 0x9f 21506 0d46 0E010000 .4byte .LVL142 21507 0d4a 72010000 .4byte .LVL145 21508 0d4e 0700 .2byte 0x7 21509 0d50 91 .byte 0x91 21510 0d51 40 .sleb128 -64 21511 0d52 94 .byte 0x94 21512 0d53 02 .byte 0x2 21513 0d54 31 .byte 0x31 21514 0d55 24 .byte 0x24 21515 0d56 9F .byte 0x9f 21516 0d57 76010000 .4byte .LVL146 21517 0d5b BE010000 .4byte .LVL150 21518 0d5f 0700 .2byte 0x7 21519 0d61 91 .byte 0x91 21520 0d62 40 .sleb128 -64 21521 0d63 94 .byte 0x94 21522 0d64 02 .byte 0x2 21523 0d65 31 .byte 0x31 21524 0d66 24 .byte 0x24 21525 0d67 9F .byte 0x9f 21526 0d68 C0010000 .4byte .LVL151 21527 0d6c 34020000 .4byte .LVL153 21528 0d70 0700 .2byte 0x7 21529 0d72 91 .byte 0x91 21530 0d73 40 .sleb128 -64 21531 0d74 94 .byte 0x94 21532 0d75 02 .byte 0x2 21533 0d76 31 .byte 0x31 21534 0d77 24 .byte 0x24 21535 0d78 9F .byte 0x9f 21536 0d79 00000000 .4byte 0 21537 0d7d 00000000 .4byte 0 21538 .LVUS88: 21539 0d81 02 .uleb128 .LVU602 21540 0d82 00 .uleb128 .LVU614 21541 0d83 00 .uleb128 .LVU618 21542 0d84 00 .uleb128 .LVU672 21543 0d85 00 .uleb128 .LVU673 21544 0d86 04 .uleb128 .LVU705 21545 0d87 00 .uleb128 .LVU707 21546 0d88 00 .uleb128 .LVU724 21547 0d89 00 .uleb128 .LVU725 21548 0d8a 00 .uleb128 .LVU763 21549 .LLST88: 21550 0d8b 3C000000 .4byte .LVL127 21551 0d8f 4C000000 .4byte .LVL129 21552 0d93 0200 .2byte 0x2 21553 0d95 91 .byte 0x91 ARM GAS /tmp/ccJhhmLc.s page 855 21554 0d96 44 .sleb128 -60 21555 0d97 5E000000 .4byte .LVL131 21556 0d9b 0C010000 .4byte .LVL141 21557 0d9f 0200 .2byte 0x2 21558 0da1 91 .byte 0x91 21559 0da2 44 .sleb128 -60 21560 0da3 0E010000 .4byte .LVL142 21561 0da7 72010000 .4byte .LVL145 21562 0dab 0200 .2byte 0x2 21563 0dad 91 .byte 0x91 21564 0dae 44 .sleb128 -60 21565 0daf 76010000 .4byte .LVL146 21566 0db3 BE010000 .4byte .LVL150 21567 0db7 0200 .2byte 0x2 21568 0db9 91 .byte 0x91 21569 0dba 44 .sleb128 -60 21570 0dbb C0010000 .4byte .LVL151 21571 0dbf 34020000 .4byte .LVL153 21572 0dc3 0200 .2byte 0x2 21573 0dc5 91 .byte 0x91 21574 0dc6 44 .sleb128 -60 21575 0dc7 00000000 .4byte 0 21576 0dcb 00000000 .4byte 0 21577 .LVUS89: 21578 0dcf 02 .uleb128 .LVU602 21579 0dd0 00 .uleb128 .LVU614 21580 0dd1 00 .uleb128 .LVU618 21581 0dd2 00 .uleb128 .LVU665 21582 0dd3 00 .uleb128 .LVU665 21583 0dd4 00 .uleb128 .LVU672 21584 0dd5 00 .uleb128 .LVU673 21585 0dd6 04 .uleb128 .LVU705 21586 0dd7 00 .uleb128 .LVU707 21587 0dd8 00 .uleb128 .LVU724 21588 0dd9 00 .uleb128 .LVU725 21589 0dda 00 .uleb128 .LVU763 21590 .LLST89: 21591 0ddb 3C000000 .4byte .LVL127 21592 0ddf 4C000000 .4byte .LVL129 21593 0de3 0100 .2byte 0x1 21594 0de5 5A .byte 0x5a 21595 0de6 5E000000 .4byte .LVL131 21596 0dea F2000000 .4byte .LVL140 21597 0dee 0100 .2byte 0x1 21598 0df0 5A .byte 0x5a 21599 0df1 F2000000 .4byte .LVL140 21600 0df5 0C010000 .4byte .LVL141 21601 0df9 0A00 .2byte 0xa 21602 0dfb F3 .byte 0xf3 21603 0dfc 03 .uleb128 0x3 21604 0dfd F5 .byte 0xf5 21605 0dfe 03 .uleb128 0x3 21606 0dff 29 .uleb128 0x29 21607 0e00 F7 .byte 0xf7 21608 0e01 3E .uleb128 0x3e 21609 0e02 F7 .byte 0xf7 21610 0e03 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 856 21611 0e04 9F .byte 0x9f 21612 0e05 0E010000 .4byte .LVL142 21613 0e09 72010000 .4byte .LVL145 21614 0e0d 0A00 .2byte 0xa 21615 0e0f F3 .byte 0xf3 21616 0e10 03 .uleb128 0x3 21617 0e11 F5 .byte 0xf5 21618 0e12 03 .uleb128 0x3 21619 0e13 29 .uleb128 0x29 21620 0e14 F7 .byte 0xf7 21621 0e15 3E .uleb128 0x3e 21622 0e16 F7 .byte 0xf7 21623 0e17 00 .uleb128 0 21624 0e18 9F .byte 0x9f 21625 0e19 76010000 .4byte .LVL146 21626 0e1d BE010000 .4byte .LVL150 21627 0e21 0A00 .2byte 0xa 21628 0e23 F3 .byte 0xf3 21629 0e24 03 .uleb128 0x3 21630 0e25 F5 .byte 0xf5 21631 0e26 03 .uleb128 0x3 21632 0e27 29 .uleb128 0x29 21633 0e28 F7 .byte 0xf7 21634 0e29 3E .uleb128 0x3e 21635 0e2a F7 .byte 0xf7 21636 0e2b 00 .uleb128 0 21637 0e2c 9F .byte 0x9f 21638 0e2d C0010000 .4byte .LVL151 21639 0e31 34020000 .4byte .LVL153 21640 0e35 0A00 .2byte 0xa 21641 0e37 F3 .byte 0xf3 21642 0e38 03 .uleb128 0x3 21643 0e39 F5 .byte 0xf5 21644 0e3a 03 .uleb128 0x3 21645 0e3b 29 .uleb128 0x29 21646 0e3c F7 .byte 0xf7 21647 0e3d 3E .uleb128 0x3e 21648 0e3e F7 .byte 0xf7 21649 0e3f 00 .uleb128 0 21650 0e40 9F .byte 0x9f 21651 0e41 00000000 .4byte 0 21652 0e45 00000000 .4byte 0 21653 .LVUS90: 21654 0e49 02 .uleb128 .LVU602 21655 0e4a 00 .uleb128 .LVU614 21656 0e4b 00 .uleb128 .LVU618 21657 0e4c 00 .uleb128 .LVU672 21658 0e4d 00 .uleb128 .LVU673 21659 0e4e 04 .uleb128 .LVU705 21660 0e4f 00 .uleb128 .LVU707 21661 0e50 00 .uleb128 .LVU724 21662 0e51 00 .uleb128 .LVU725 21663 0e52 00 .uleb128 .LVU763 21664 .LLST90: 21665 0e53 3C000000 .4byte .LVL127 21666 0e57 4C000000 .4byte .LVL129 21667 0e5b 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 857 21668 0e5d 58 .byte 0x58 21669 0e5e 5E000000 .4byte .LVL131 21670 0e62 0C010000 .4byte .LVL141 21671 0e66 0100 .2byte 0x1 21672 0e68 58 .byte 0x58 21673 0e69 0E010000 .4byte .LVL142 21674 0e6d 72010000 .4byte .LVL145 21675 0e71 0100 .2byte 0x1 21676 0e73 58 .byte 0x58 21677 0e74 76010000 .4byte .LVL146 21678 0e78 BE010000 .4byte .LVL150 21679 0e7c 0100 .2byte 0x1 21680 0e7e 58 .byte 0x58 21681 0e7f C0010000 .4byte .LVL151 21682 0e83 34020000 .4byte .LVL153 21683 0e87 0100 .2byte 0x1 21684 0e89 58 .byte 0x58 21685 0e8a 00000000 .4byte 0 21686 0e8e 00000000 .4byte 0 21687 .LVUS91: 21688 0e92 00 .uleb128 .LVU610 21689 0e93 00 .uleb128 .LVU614 21690 0e94 00 .uleb128 .LVU618 21691 0e95 00 .uleb128 .LVU672 21692 0e96 00 .uleb128 .LVU673 21693 0e97 04 .uleb128 .LVU705 21694 0e98 00 .uleb128 .LVU707 21695 0e99 00 .uleb128 .LVU724 21696 0e9a 00 .uleb128 .LVU725 21697 0e9b 00 .uleb128 .LVU763 21698 .LLST91: 21699 0e9c 44000000 .4byte .LVL128 21700 0ea0 4C000000 .4byte .LVL129 21701 0ea4 0100 .2byte 0x1 21702 0ea6 57 .byte 0x57 21703 0ea7 5E000000 .4byte .LVL131 21704 0eab 0C010000 .4byte .LVL141 21705 0eaf 0100 .2byte 0x1 21706 0eb1 57 .byte 0x57 21707 0eb2 0E010000 .4byte .LVL142 21708 0eb6 72010000 .4byte .LVL145 21709 0eba 0100 .2byte 0x1 21710 0ebc 57 .byte 0x57 21711 0ebd 76010000 .4byte .LVL146 21712 0ec1 BE010000 .4byte .LVL150 21713 0ec5 0100 .2byte 0x1 21714 0ec7 57 .byte 0x57 21715 0ec8 C0010000 .4byte .LVL151 21716 0ecc 34020000 .4byte .LVL153 21717 0ed0 0100 .2byte 0x1 21718 0ed2 57 .byte 0x57 21719 0ed3 00000000 .4byte 0 21720 0ed7 00000000 .4byte 0 21721 .LVUS92: 21722 0edb 01 .uleb128 .LVU648 21723 0edc 00 .uleb128 .LVU672 21724 0edd 00 .uleb128 .LVU673 ARM GAS /tmp/ccJhhmLc.s page 858 21725 0ede 00 .uleb128 .LVU685 21726 0edf 00 .uleb128 .LVU707 21727 0ee0 00 .uleb128 .LVU715 21728 .LLST92: 21729 0ee1 BE000000 .4byte .LVL133 21730 0ee5 0C010000 .4byte .LVL141 21731 0ee9 0100 .2byte 0x1 21732 0eeb 56 .byte 0x56 21733 0eec 0E010000 .4byte .LVL142 21734 0ef0 36010000 .4byte .LVL144 21735 0ef4 0100 .2byte 0x1 21736 0ef6 56 .byte 0x56 21737 0ef7 76010000 .4byte .LVL146 21738 0efb 9C010000 .4byte .LVL148 21739 0eff 0100 .2byte 0x1 21740 0f01 56 .byte 0x56 21741 0f02 00000000 .4byte 0 21742 0f06 00000000 .4byte 0 21743 .LVUS93: 21744 0f0a 01 .uleb128 .LVU648 21745 0f0b 00 .uleb128 .LVU672 21746 0f0c 00 .uleb128 .LVU673 21747 0f0d 00 .uleb128 .LVU685 21748 0f0e 00 .uleb128 .LVU707 21749 0f0f 00 .uleb128 .LVU715 21750 .LLST93: 21751 0f10 BE000000 .4byte .LVL133 21752 0f14 0C010000 .4byte .LVL141 21753 0f18 0700 .2byte 0x7 21754 0f1a 91 .byte 0x91 21755 0f1b 40 .sleb128 -64 21756 0f1c 94 .byte 0x94 21757 0f1d 02 .byte 0x2 21758 0f1e 31 .byte 0x31 21759 0f1f 24 .byte 0x24 21760 0f20 9F .byte 0x9f 21761 0f21 0E010000 .4byte .LVL142 21762 0f25 36010000 .4byte .LVL144 21763 0f29 0700 .2byte 0x7 21764 0f2b 91 .byte 0x91 21765 0f2c 40 .sleb128 -64 21766 0f2d 94 .byte 0x94 21767 0f2e 02 .byte 0x2 21768 0f2f 31 .byte 0x31 21769 0f30 24 .byte 0x24 21770 0f31 9F .byte 0x9f 21771 0f32 76010000 .4byte .LVL146 21772 0f36 9C010000 .4byte .LVL148 21773 0f3a 0700 .2byte 0x7 21774 0f3c 91 .byte 0x91 21775 0f3d 40 .sleb128 -64 21776 0f3e 94 .byte 0x94 21777 0f3f 02 .byte 0x2 21778 0f40 31 .byte 0x31 21779 0f41 24 .byte 0x24 21780 0f42 9F .byte 0x9f 21781 0f43 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 859 21782 0f47 00000000 .4byte 0 21783 .LVUS94: 21784 0f4b 01 .uleb128 .LVU648 21785 0f4c 00 .uleb128 .LVU672 21786 0f4d 00 .uleb128 .LVU673 21787 0f4e 00 .uleb128 .LVU685 21788 0f4f 00 .uleb128 .LVU707 21789 0f50 00 .uleb128 .LVU715 21790 .LLST94: 21791 0f51 BE000000 .4byte .LVL133 21792 0f55 0C010000 .4byte .LVL141 21793 0f59 0100 .2byte 0x1 21794 0f5b 58 .byte 0x58 21795 0f5c 0E010000 .4byte .LVL142 21796 0f60 36010000 .4byte .LVL144 21797 0f64 0100 .2byte 0x1 21798 0f66 58 .byte 0x58 21799 0f67 76010000 .4byte .LVL146 21800 0f6b 9C010000 .4byte .LVL148 21801 0f6f 0100 .2byte 0x1 21802 0f71 58 .byte 0x58 21803 0f72 00000000 .4byte 0 21804 0f76 00000000 .4byte 0 21805 .LVUS95: 21806 0f7a 01 .uleb128 .LVU648 21807 0f7b 00 .uleb128 .LVU672 21808 0f7c 00 .uleb128 .LVU673 21809 0f7d 00 .uleb128 .LVU685 21810 0f7e 00 .uleb128 .LVU707 21811 0f7f 00 .uleb128 .LVU715 21812 .LLST95: 21813 0f80 BE000000 .4byte .LVL133 21814 0f84 0C010000 .4byte .LVL141 21815 0f88 0100 .2byte 0x1 21816 0f8a 57 .byte 0x57 21817 0f8b 0E010000 .4byte .LVL142 21818 0f8f 36010000 .4byte .LVL144 21819 0f93 0100 .2byte 0x1 21820 0f95 57 .byte 0x57 21821 0f96 76010000 .4byte .LVL146 21822 0f9a 9C010000 .4byte .LVL148 21823 0f9e 0100 .2byte 0x1 21824 0fa0 57 .byte 0x57 21825 0fa1 00000000 .4byte 0 21826 0fa5 00000000 .4byte 0 21827 .LVUS96: 21828 0fa9 00 .uleb128 .LVU651 21829 0faa 00 .uleb128 .LVU663 21830 .LLST96: 21831 0fab C0000000 .4byte .LVL134 21832 0faf E8000000 .4byte .LVL138 21833 0fb3 0100 .2byte 0x1 21834 0fb5 51 .byte 0x51 21835 0fb6 00000000 .4byte 0 21836 0fba 00000000 .4byte 0 21837 .LLST97: 21838 0fbe 00000000 .4byte .LFB60 ARM GAS /tmp/ccJhhmLc.s page 860 21839 0fc2 04000000 .4byte .LCFI21 21840 0fc6 0200 .2byte 0x2 21841 0fc8 7D .byte 0x7d 21842 0fc9 00 .sleb128 0 21843 0fca 04000000 .4byte .LCFI21 21844 0fce 06000000 .4byte .LCFI22 21845 0fd2 0200 .2byte 0x2 21846 0fd4 7D .byte 0x7d 21847 0fd5 24 .sleb128 36 21848 0fd6 06000000 .4byte .LCFI22 21849 0fda 0E010000 .4byte .LCFI23 21850 0fde 0300 .2byte 0x3 21851 0fe0 7D .byte 0x7d 21852 0fe1 D800 .sleb128 88 21853 0fe3 0E010000 .4byte .LCFI23 21854 0fe7 12010000 .4byte .LCFI24 21855 0feb 0200 .2byte 0x2 21856 0fed 7D .byte 0x7d 21857 0fee 24 .sleb128 36 21858 0fef 12010000 .4byte .LCFI24 21859 0ff3 50030000 .4byte .LFE60 21860 0ff7 0300 .2byte 0x3 21861 0ff9 7D .byte 0x7d 21862 0ffa D800 .sleb128 88 21863 0ffc 00000000 .4byte 0 21864 1000 00000000 .4byte 0 21865 .LVUS98: 21866 1004 00 .uleb128 0 21867 1005 00 .uleb128 .LVU780 21868 1006 00 .uleb128 .LVU780 21869 1007 00 .uleb128 .LVU866 21870 1008 00 .uleb128 .LVU866 21871 1009 00 .uleb128 .LVU1048 21872 100a 00 .uleb128 .LVU1048 21873 100b 00 .uleb128 0 21874 .LLST98: 21875 100c 00000000 .4byte .LVL155 21876 1010 24000000 .4byte .LVL157 21877 1014 0100 .2byte 0x1 21878 1016 50 .byte 0x50 21879 1017 24000000 .4byte .LVL157 21880 101b 12010000 .4byte .LVL176 21881 101f 0100 .2byte 0x1 21882 1021 59 .byte 0x59 21883 1022 12010000 .4byte .LVL176 21884 1026 44030000 .4byte .LVL195 21885 102a 0A00 .2byte 0xa 21886 102c F3 .byte 0xf3 21887 102d 03 .uleb128 0x3 21888 102e F5 .byte 0xf5 21889 102f 00 .uleb128 0 21890 1030 29 .uleb128 0x29 21891 1031 F7 .byte 0xf7 21892 1032 37 .uleb128 0x37 21893 1033 F7 .byte 0xf7 21894 1034 00 .uleb128 0 21895 1035 9F .byte 0x9f ARM GAS /tmp/ccJhhmLc.s page 861 21896 1036 44030000 .4byte .LVL195 21897 103a 50030000 .4byte .LFE60 21898 103e 0100 .2byte 0x1 21899 1040 50 .byte 0x50 21900 1041 00000000 .4byte 0 21901 1045 00000000 .4byte 0 21902 .LVUS99: 21903 1049 00 .uleb128 0 21904 104a 00 .uleb128 .LVU781 21905 104b 00 .uleb128 .LVU781 21906 104c 00 .uleb128 .LVU859 21907 104d 00 .uleb128 .LVU859 21908 104e 00 .uleb128 .LVU1048 21909 104f 00 .uleb128 .LVU1048 21910 1050 00 .uleb128 0 21911 .LLST99: 21912 1051 00000000 .4byte .LVL155 21913 1055 27000000 .4byte .LVL158-1 21914 1059 0100 .2byte 0x1 21915 105b 51 .byte 0x51 21916 105c 27000000 .4byte .LVL158-1 21917 1060 F4000000 .4byte .LVL172 21918 1064 0300 .2byte 0x3 21919 1066 91 .byte 0x91 21920 1067 B07F .sleb128 -80 21921 1069 F4000000 .4byte .LVL172 21922 106d 44030000 .4byte .LVL195 21923 1071 0A00 .2byte 0xa 21924 1073 F3 .byte 0xf3 21925 1074 03 .uleb128 0x3 21926 1075 F5 .byte 0xf5 21927 1076 01 .uleb128 0x1 21928 1077 29 .uleb128 0x29 21929 1078 F7 .byte 0xf7 21930 1079 3E .uleb128 0x3e 21931 107a F7 .byte 0xf7 21932 107b 00 .uleb128 0 21933 107c 9F .byte 0x9f 21934 107d 44030000 .4byte .LVL195 21935 1081 50030000 .4byte .LFE60 21936 1085 0100 .2byte 0x1 21937 1087 51 .byte 0x51 21938 1088 00000000 .4byte 0 21939 108c 00000000 .4byte 0 21940 .LVUS100: 21941 1090 00 .uleb128 0 21942 1091 00 .uleb128 .LVU781 21943 1092 00 .uleb128 .LVU781 21944 1093 00 .uleb128 .LVU862 21945 1094 00 .uleb128 .LVU862 21946 1095 00 .uleb128 .LVU866 21947 1096 00 .uleb128 .LVU866 21948 1097 00 .uleb128 .LVU891 21949 1098 00 .uleb128 .LVU891 21950 1099 00 .uleb128 .LVU905 21951 109a 00 .uleb128 .LVU905 21952 109b 00 .uleb128 .LVU965 ARM GAS /tmp/ccJhhmLc.s page 862 21953 109c 00 .uleb128 .LVU965 21954 109d 00 .uleb128 .LVU1048 21955 109e 00 .uleb128 .LVU1048 21956 109f 00 .uleb128 0 21957 .LLST100: 21958 10a0 00000000 .4byte .LVL155 21959 10a4 27000000 .4byte .LVL158-1 21960 10a8 0100 .2byte 0x1 21961 10aa 52 .byte 0x52 21962 10ab 27000000 .4byte .LVL158-1 21963 10af 00010000 .4byte .LVL173 21964 10b3 0300 .2byte 0x3 21965 10b5 91 .byte 0x91 21966 10b6 B47F .sleb128 -76 21967 10b8 00010000 .4byte .LVL173 21968 10bc 12010000 .4byte .LVL176 21969 10c0 0A00 .2byte 0xa 21970 10c2 F3 .byte 0xf3 21971 10c3 03 .uleb128 0x3 21972 10c4 F5 .byte 0xf5 21973 10c5 02 .uleb128 0x2 21974 10c6 29 .uleb128 0x29 21975 10c7 F7 .byte 0xf7 21976 10c8 30 .uleb128 0x30 21977 10c9 F7 .byte 0xf7 21978 10ca 00 .uleb128 0 21979 10cb 9F .byte 0x9f 21980 10cc 12010000 .4byte .LVL176 21981 10d0 64010000 .4byte .LVL180 21982 10d4 0300 .2byte 0x3 21983 10d6 91 .byte 0x91 21984 10d7 B47F .sleb128 -76 21985 10d9 64010000 .4byte .LVL180 21986 10dd 7C010000 .4byte .LVL182 21987 10e1 0A00 .2byte 0xa 21988 10e3 F3 .byte 0xf3 21989 10e4 03 .uleb128 0x3 21990 10e5 F5 .byte 0xf5 21991 10e6 02 .uleb128 0x2 21992 10e7 29 .uleb128 0x29 21993 10e8 F7 .byte 0xf7 21994 10e9 30 .uleb128 0x30 21995 10ea F7 .byte 0xf7 21996 10eb 00 .uleb128 0 21997 10ec 9F .byte 0x9f 21998 10ed 7C010000 .4byte .LVL182 21999 10f1 3E020000 .4byte .LVL188 22000 10f5 0300 .2byte 0x3 22001 10f7 91 .byte 0x91 22002 10f8 B47F .sleb128 -76 22003 10fa 3E020000 .4byte .LVL188 22004 10fe 44030000 .4byte .LVL195 22005 1102 0A00 .2byte 0xa 22006 1104 F3 .byte 0xf3 22007 1105 03 .uleb128 0x3 22008 1106 F5 .byte 0xf5 22009 1107 02 .uleb128 0x2 ARM GAS /tmp/ccJhhmLc.s page 863 22010 1108 29 .uleb128 0x29 22011 1109 F7 .byte 0xf7 22012 110a 30 .uleb128 0x30 22013 110b F7 .byte 0xf7 22014 110c 00 .uleb128 0 22015 110d 9F .byte 0x9f 22016 110e 44030000 .4byte .LVL195 22017 1112 50030000 .4byte .LFE60 22018 1116 0100 .2byte 0x1 22019 1118 52 .byte 0x52 22020 1119 00000000 .4byte 0 22021 111d 00000000 .4byte 0 22022 .LVUS101: 22023 1121 00 .uleb128 0 22024 1122 00 .uleb128 .LVU781 22025 1123 00 .uleb128 .LVU781 22026 1124 00 .uleb128 .LVU855 22027 1125 00 .uleb128 .LVU855 22028 1126 00 .uleb128 .LVU1048 22029 1127 00 .uleb128 .LVU1048 22030 1128 00 .uleb128 0 22031 .LLST101: 22032 1129 00000000 .4byte .LVL155 22033 112d 27000000 .4byte .LVL158-1 22034 1131 0100 .2byte 0x1 22035 1133 53 .byte 0x53 22036 1134 27000000 .4byte .LVL158-1 22037 1138 E4000000 .4byte .LVL171 22038 113c 0100 .2byte 0x1 22039 113e 5A .byte 0x5a 22040 113f E4000000 .4byte .LVL171 22041 1143 44030000 .4byte .LVL195 22042 1147 0A00 .2byte 0xa 22043 1149 F3 .byte 0xf3 22044 114a 03 .uleb128 0x3 22045 114b F5 .byte 0xf5 22046 114c 03 .uleb128 0x3 22047 114d 29 .uleb128 0x29 22048 114e F7 .byte 0xf7 22049 114f 3E .uleb128 0x3e 22050 1150 F7 .byte 0xf7 22051 1151 00 .uleb128 0 22052 1152 9F .byte 0x9f 22053 1153 44030000 .4byte .LVL195 22054 1157 50030000 .4byte .LFE60 22055 115b 0100 .2byte 0x1 22056 115d 53 .byte 0x53 22057 115e 00000000 .4byte 0 22058 1162 00000000 .4byte 0 22059 .LVUS102: 22060 1166 00 .uleb128 0 22061 1167 00 .uleb128 .LVU846 22062 1168 00 .uleb128 .LVU847 22063 1169 00 .uleb128 .LVU850 22064 116a 00 .uleb128 .LVU1048 22065 116b 00 .uleb128 0 22066 .LLST102: ARM GAS /tmp/ccJhhmLc.s page 864 22067 116c 00000000 .4byte .LVL155 22068 1170 C8000000 .4byte .LVL166 22069 1174 0200 .2byte 0x2 22070 1176 91 .byte 0x91 22071 1177 00 .sleb128 0 22072 1178 CA000000 .4byte .LVL167 22073 117c D0000000 .4byte .LVL168 22074 1180 0200 .2byte 0x2 22075 1182 91 .byte 0x91 22076 1183 00 .sleb128 0 22077 1184 44030000 .4byte .LVL195 22078 1188 50030000 .4byte .LFE60 22079 118c 0200 .2byte 0x2 22080 118e 91 .byte 0x91 22081 118f 00 .sleb128 0 22082 1190 00000000 .4byte 0 22083 1194 00000000 .4byte 0 22084 .LVUS103: 22085 1198 00 .uleb128 .LVU776 22086 1199 00 .uleb128 .LVU865 22087 119a 00 .uleb128 .LVU866 22088 119b 00 .uleb128 .LVU990 22089 119c 00 .uleb128 .LVU990 22090 119d 00 .uleb128 .LVU991 22091 119e 00 .uleb128 .LVU991 22092 119f 00 .uleb128 .LVU1010 22093 11a0 00 .uleb128 .LVU1010 22094 11a1 00 .uleb128 .LVU1012 22095 11a2 00 .uleb128 .LVU1012 22096 11a3 00 .uleb128 .LVU1048 22097 .LLST103: 22098 11a4 22000000 .4byte .LVL156 22099 11a8 0A010000 .4byte .LVL175 22100 11ac 0100 .2byte 0x1 22101 11ae 56 .byte 0x56 22102 11af 12010000 .4byte .LVL176 22103 11b3 9C020000 .4byte .LVL190 22104 11b7 0100 .2byte 0x1 22105 11b9 56 .byte 0x56 22106 11ba 9C020000 .4byte .LVL190 22107 11be 9F020000 .4byte .LVL191-1 22108 11c2 0100 .2byte 0x1 22109 11c4 50 .byte 0x50 22110 11c5 9F020000 .4byte .LVL191-1 22111 11c9 D2020000 .4byte .LVL192 22112 11cd 0100 .2byte 0x1 22113 11cf 56 .byte 0x56 22114 11d0 D2020000 .4byte .LVL192 22115 11d4 D5020000 .4byte .LVL193-1 22116 11d8 0100 .2byte 0x1 22117 11da 50 .byte 0x50 22118 11db D5020000 .4byte .LVL193-1 22119 11df 44030000 .4byte .LVL195 22120 11e3 0100 .2byte 0x1 22121 11e5 56 .byte 0x56 22122 11e6 00000000 .4byte 0 22123 11ea 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 865 22124 .LVUS104: 22125 11ee 02 .uleb128 .LVU768 22126 11ef 00 .uleb128 .LVU776 22127 11f0 00 .uleb128 .LVU1048 22128 11f1 00 .uleb128 .LVU1050 22129 .LLST104: 22130 11f2 00000000 .4byte .LVL155 22131 11f6 22000000 .4byte .LVL156 22132 11fa 0100 .2byte 0x1 22133 11fc 50 .byte 0x50 22134 11fd 44030000 .4byte .LVL195 22135 1201 48030000 .4byte .LVL196 22136 1205 0100 .2byte 0x1 22137 1207 50 .byte 0x50 22138 1208 00000000 .4byte 0 22139 120c 00000000 .4byte 0 22140 .LVUS105: 22141 1210 01 .uleb128 .LVU782 22142 1211 00 .uleb128 .LVU786 22143 1212 00 .uleb128 .LVU786 22144 1213 00 .uleb128 .LVU788 22145 1214 00 .uleb128 .LVU788 22146 1215 00 .uleb128 .LVU791 22147 1216 00 .uleb128 .LVU791 22148 1217 00 .uleb128 .LVU791 22149 .LLST105: 22150 1218 28000000 .4byte .LVL158 22151 121c 2E000000 .4byte .LVL159 22152 1220 0900 .2byte 0x9 22153 1222 75 .byte 0x75 22154 1223 00 .sleb128 0 22155 1224 03 .byte 0x3 22156 1225 58000000 .4byte _ZL9_i2c_devs+88 22157 1229 22 .byte 0x22 22158 122a 9F .byte 0x9f 22159 122b 2E000000 .4byte .LVL159 22160 122f 30000000 .4byte .LVL160 22161 1233 0900 .2byte 0x9 22162 1235 71 .byte 0x71 22163 1236 00 .sleb128 0 22164 1237 03 .byte 0x3 22165 1238 00000000 .4byte _ZL9_i2c_devs 22166 123c 22 .byte 0x22 22167 123d 9F .byte 0x9f 22168 123e 30000000 .4byte .LVL160 22169 1242 39000000 .4byte .LVL161-1 22170 1246 0100 .2byte 0x1 22171 1248 51 .byte 0x51 22172 1249 39000000 .4byte .LVL161-1 22173 124d 3A000000 .4byte .LVL161 22174 1251 0400 .2byte 0x4 22175 1253 76 .byte 0x76 22176 1254 D800 .sleb128 88 22177 1256 9F .byte 0x9f 22178 1257 00000000 .4byte 0 22179 125b 00000000 .4byte 0 22180 .LVUS106: ARM GAS /tmp/ccJhhmLc.s page 866 22181 125f 02 .uleb128 .LVU793 22182 1260 00 .uleb128 .LVU864 22183 1261 00 .uleb128 .LVU866 22184 1262 04 .uleb128 .LVU903 22185 1263 00 .uleb128 .LVU905 22186 1264 00 .uleb128 .LVU990 22187 1265 00 .uleb128 .LVU990 22188 1266 00 .uleb128 .LVU991 22189 1267 00 .uleb128 .LVU991 22190 1268 00 .uleb128 .LVU1010 22191 1269 00 .uleb128 .LVU1010 22192 126a 00 .uleb128 .LVU1012 22193 126b 00 .uleb128 .LVU1012 22194 126c 00 .uleb128 .LVU1048 22195 .LLST106: 22196 126d 3A000000 .4byte .LVL161 22197 1271 04010000 .4byte .LVL174 22198 1275 0100 .2byte 0x1 22199 1277 56 .byte 0x56 22200 1278 12010000 .4byte .LVL176 22201 127c 78010000 .4byte .LVL181 22202 1280 0100 .2byte 0x1 22203 1282 56 .byte 0x56 22204 1283 7C010000 .4byte .LVL182 22205 1287 9C020000 .4byte .LVL190 22206 128b 0100 .2byte 0x1 22207 128d 56 .byte 0x56 22208 128e 9C020000 .4byte .LVL190 22209 1292 9F020000 .4byte .LVL191-1 22210 1296 0100 .2byte 0x1 22211 1298 50 .byte 0x50 22212 1299 9F020000 .4byte .LVL191-1 22213 129d D2020000 .4byte .LVL192 22214 12a1 0100 .2byte 0x1 22215 12a3 56 .byte 0x56 22216 12a4 D2020000 .4byte .LVL192 22217 12a8 D5020000 .4byte .LVL193-1 22218 12ac 0100 .2byte 0x1 22219 12ae 50 .byte 0x50 22220 12af D5020000 .4byte .LVL193-1 22221 12b3 44030000 .4byte .LVL195 22222 12b7 0100 .2byte 0x1 22223 12b9 56 .byte 0x56 22224 12ba 00000000 .4byte 0 22225 12be 00000000 .4byte 0 22226 .LVUS107: 22227 12c2 02 .uleb128 .LVU793 22228 12c3 00 .uleb128 .LVU859 22229 12c4 00 .uleb128 .LVU866 22230 12c5 00 .uleb128 .LVU874 22231 12c6 00 .uleb128 .LVU905 22232 12c7 00 .uleb128 .LVU907 22233 .LLST107: 22234 12c8 3A000000 .4byte .LVL161 22235 12cc F4000000 .4byte .LVL172 22236 12d0 0800 .2byte 0x8 22237 12d2 91 .byte 0x91 ARM GAS /tmp/ccJhhmLc.s page 867 22238 12d3 B07F .sleb128 -80 22239 12d5 94 .byte 0x94 22240 12d6 02 .byte 0x2 22241 12d7 31 .byte 0x31 22242 12d8 24 .byte 0x24 22243 12d9 9F .byte 0x9f 22244 12da 12010000 .4byte .LVL176 22245 12de 2A010000 .4byte .LVL177 22246 12e2 0800 .2byte 0x8 22247 12e4 91 .byte 0x91 22248 12e5 B07F .sleb128 -80 22249 12e7 94 .byte 0x94 22250 12e8 02 .byte 0x2 22251 12e9 31 .byte 0x31 22252 12ea 24 .byte 0x24 22253 12eb 9F .byte 0x9f 22254 12ec 7C010000 .4byte .LVL182 22255 12f0 84010000 .4byte .LVL183 22256 12f4 0800 .2byte 0x8 22257 12f6 91 .byte 0x91 22258 12f7 B07F .sleb128 -80 22259 12f9 94 .byte 0x94 22260 12fa 02 .byte 0x2 22261 12fb 31 .byte 0x31 22262 12fc 24 .byte 0x24 22263 12fd 9F .byte 0x9f 22264 12fe 00000000 .4byte 0 22265 1302 00000000 .4byte 0 22266 .LVUS108: 22267 1306 02 .uleb128 .LVU793 22268 1307 00 .uleb128 .LVU862 22269 1308 00 .uleb128 .LVU866 22270 1309 00 .uleb128 .LVU891 22271 130a 00 .uleb128 .LVU905 22272 130b 00 .uleb128 .LVU965 22273 .LLST108: 22274 130c 3A000000 .4byte .LVL161 22275 1310 00010000 .4byte .LVL173 22276 1314 0300 .2byte 0x3 22277 1316 91 .byte 0x91 22278 1317 B47F .sleb128 -76 22279 1319 12010000 .4byte .LVL176 22280 131d 64010000 .4byte .LVL180 22281 1321 0300 .2byte 0x3 22282 1323 91 .byte 0x91 22283 1324 B47F .sleb128 -76 22284 1326 7C010000 .4byte .LVL182 22285 132a 3E020000 .4byte .LVL188 22286 132e 0300 .2byte 0x3 22287 1330 91 .byte 0x91 22288 1331 B47F .sleb128 -76 22289 1333 00000000 .4byte 0 22290 1337 00000000 .4byte 0 22291 .LVUS109: 22292 133b 02 .uleb128 .LVU793 22293 133c 00 .uleb128 .LVU855 22294 133d 00 .uleb128 .LVU855 ARM GAS /tmp/ccJhhmLc.s page 868 22295 133e 00 .uleb128 .LVU864 22296 133f 00 .uleb128 .LVU866 22297 1340 04 .uleb128 .LVU903 22298 1341 00 .uleb128 .LVU905 22299 1342 00 .uleb128 .LVU1048 22300 .LLST109: 22301 1343 3A000000 .4byte .LVL161 22302 1347 E4000000 .4byte .LVL171 22303 134b 0100 .2byte 0x1 22304 134d 5A .byte 0x5a 22305 134e E4000000 .4byte .LVL171 22306 1352 04010000 .4byte .LVL174 22307 1356 0A00 .2byte 0xa 22308 1358 F3 .byte 0xf3 22309 1359 03 .uleb128 0x3 22310 135a F5 .byte 0xf5 22311 135b 03 .uleb128 0x3 22312 135c 29 .uleb128 0x29 22313 135d F7 .byte 0xf7 22314 135e 3E .uleb128 0x3e 22315 135f F7 .byte 0xf7 22316 1360 00 .uleb128 0 22317 1361 9F .byte 0x9f 22318 1362 12010000 .4byte .LVL176 22319 1366 78010000 .4byte .LVL181 22320 136a 0A00 .2byte 0xa 22321 136c F3 .byte 0xf3 22322 136d 03 .uleb128 0x3 22323 136e F5 .byte 0xf5 22324 136f 03 .uleb128 0x3 22325 1370 29 .uleb128 0x29 22326 1371 F7 .byte 0xf7 22327 1372 3E .uleb128 0x3e 22328 1373 F7 .byte 0xf7 22329 1374 00 .uleb128 0 22330 1375 9F .byte 0x9f 22331 1376 7C010000 .4byte .LVL182 22332 137a 44030000 .4byte .LVL195 22333 137e 0A00 .2byte 0xa 22334 1380 F3 .byte 0xf3 22335 1381 03 .uleb128 0x3 22336 1382 F5 .byte 0xf5 22337 1383 03 .uleb128 0x3 22338 1384 29 .uleb128 0x29 22339 1385 F7 .byte 0xf7 22340 1386 3E .uleb128 0x3e 22341 1387 F7 .byte 0xf7 22342 1388 00 .uleb128 0 22343 1389 9F .byte 0x9f 22344 138a 00000000 .4byte 0 22345 138e 00000000 .4byte 0 22346 .LVUS110: 22347 1392 02 .uleb128 .LVU793 22348 1393 00 .uleb128 .LVU864 22349 1394 00 .uleb128 .LVU866 22350 1395 04 .uleb128 .LVU903 22351 1396 00 .uleb128 .LVU905 ARM GAS /tmp/ccJhhmLc.s page 869 22352 1397 00 .uleb128 .LVU990 22353 1398 00 .uleb128 .LVU990 22354 1399 00 .uleb128 .LVU991 22355 139a 00 .uleb128 .LVU991 22356 139b 00 .uleb128 .LVU1010 22357 139c 00 .uleb128 .LVU1010 22358 139d 00 .uleb128 .LVU1012 22359 139e 00 .uleb128 .LVU1012 22360 139f 00 .uleb128 .LVU1048 22361 .LLST110: 22362 13a0 3A000000 .4byte .LVL161 22363 13a4 04010000 .4byte .LVL174 22364 13a8 0100 .2byte 0x1 22365 13aa 58 .byte 0x58 22366 13ab 12010000 .4byte .LVL176 22367 13af 78010000 .4byte .LVL181 22368 13b3 0100 .2byte 0x1 22369 13b5 58 .byte 0x58 22370 13b6 7C010000 .4byte .LVL182 22371 13ba 9C020000 .4byte .LVL190 22372 13be 0100 .2byte 0x1 22373 13c0 58 .byte 0x58 22374 13c1 9C020000 .4byte .LVL190 22375 13c5 9F020000 .4byte .LVL191-1 22376 13c9 0100 .2byte 0x1 22377 13cb 53 .byte 0x53 22378 13cc 9F020000 .4byte .LVL191-1 22379 13d0 D2020000 .4byte .LVL192 22380 13d4 0100 .2byte 0x1 22381 13d6 58 .byte 0x58 22382 13d7 D2020000 .4byte .LVL192 22383 13db D5020000 .4byte .LVL193-1 22384 13df 0100 .2byte 0x1 22385 13e1 53 .byte 0x53 22386 13e2 D5020000 .4byte .LVL193-1 22387 13e6 44030000 .4byte .LVL195 22388 13ea 0100 .2byte 0x1 22389 13ec 58 .byte 0x58 22390 13ed 00000000 .4byte 0 22391 13f1 00000000 .4byte 0 22392 .LVUS111: 22393 13f5 00 .uleb128 .LVU801 22394 13f6 00 .uleb128 .LVU864 22395 13f7 00 .uleb128 .LVU866 22396 13f8 04 .uleb128 .LVU903 22397 13f9 00 .uleb128 .LVU905 22398 13fa 00 .uleb128 .LVU1048 22399 .LLST111: 22400 13fb 42000000 .4byte .LVL162 22401 13ff 04010000 .4byte .LVL174 22402 1403 0100 .2byte 0x1 22403 1405 57 .byte 0x57 22404 1406 12010000 .4byte .LVL176 22405 140a 78010000 .4byte .LVL181 22406 140e 0100 .2byte 0x1 22407 1410 57 .byte 0x57 22408 1411 7C010000 .4byte .LVL182 ARM GAS /tmp/ccJhhmLc.s page 870 22409 1415 44030000 .4byte .LVL195 22410 1419 0100 .2byte 0x1 22411 141b 57 .byte 0x57 22412 141c 00000000 .4byte 0 22413 1420 00000000 .4byte 0 22414 .LVUS112: 22415 1424 01 .uleb128 .LVU835 22416 1425 00 .uleb128 .LVU862 22417 1426 00 .uleb128 .LVU866 22418 1427 00 .uleb128 .LVU877 22419 1428 00 .uleb128 .LVU905 22420 1429 00 .uleb128 .LVU936 22421 .LLST112: 22422 142a A8000000 .4byte .LVL164 22423 142e 00010000 .4byte .LVL173 22424 1432 0100 .2byte 0x1 22425 1434 56 .byte 0x56 22426 1435 12010000 .4byte .LVL176 22427 1439 3A010000 .4byte .LVL179 22428 143d 0100 .2byte 0x1 22429 143f 56 .byte 0x56 22430 1440 7C010000 .4byte .LVL182 22431 1444 EE010000 .4byte .LVL187 22432 1448 0100 .2byte 0x1 22433 144a 56 .byte 0x56 22434 144b 00000000 .4byte 0 22435 144f 00000000 .4byte 0 22436 .LVUS113: 22437 1453 01 .uleb128 .LVU835 22438 1454 00 .uleb128 .LVU859 22439 1455 00 .uleb128 .LVU866 22440 1456 00 .uleb128 .LVU874 22441 1457 00 .uleb128 .LVU905 22442 1458 00 .uleb128 .LVU907 22443 .LLST113: 22444 1459 A8000000 .4byte .LVL164 22445 145d F4000000 .4byte .LVL172 22446 1461 0800 .2byte 0x8 22447 1463 91 .byte 0x91 22448 1464 B07F .sleb128 -80 22449 1466 94 .byte 0x94 22450 1467 02 .byte 0x2 22451 1468 31 .byte 0x31 22452 1469 24 .byte 0x24 22453 146a 9F .byte 0x9f 22454 146b 12010000 .4byte .LVL176 22455 146f 2A010000 .4byte .LVL177 22456 1473 0800 .2byte 0x8 22457 1475 91 .byte 0x91 22458 1476 B07F .sleb128 -80 22459 1478 94 .byte 0x94 22460 1479 02 .byte 0x2 22461 147a 31 .byte 0x31 22462 147b 24 .byte 0x24 22463 147c 9F .byte 0x9f 22464 147d 7C010000 .4byte .LVL182 22465 1481 84010000 .4byte .LVL183 ARM GAS /tmp/ccJhhmLc.s page 871 22466 1485 0800 .2byte 0x8 22467 1487 91 .byte 0x91 22468 1488 B07F .sleb128 -80 22469 148a 94 .byte 0x94 22470 148b 02 .byte 0x2 22471 148c 31 .byte 0x31 22472 148d 24 .byte 0x24 22473 148e 9F .byte 0x9f 22474 148f 00000000 .4byte 0 22475 1493 00000000 .4byte 0 22476 .LVUS114: 22477 1497 01 .uleb128 .LVU835 22478 1498 00 .uleb128 .LVU862 22479 1499 00 .uleb128 .LVU866 22480 149a 00 .uleb128 .LVU877 22481 149b 00 .uleb128 .LVU905 22482 149c 00 .uleb128 .LVU936 22483 .LLST114: 22484 149d A8000000 .4byte .LVL164 22485 14a1 00010000 .4byte .LVL173 22486 14a5 0100 .2byte 0x1 22487 14a7 58 .byte 0x58 22488 14a8 12010000 .4byte .LVL176 22489 14ac 3A010000 .4byte .LVL179 22490 14b0 0100 .2byte 0x1 22491 14b2 58 .byte 0x58 22492 14b3 7C010000 .4byte .LVL182 22493 14b7 EE010000 .4byte .LVL187 22494 14bb 0100 .2byte 0x1 22495 14bd 58 .byte 0x58 22496 14be 00000000 .4byte 0 22497 14c2 00000000 .4byte 0 22498 .LVUS115: 22499 14c6 01 .uleb128 .LVU835 22500 14c7 00 .uleb128 .LVU862 22501 14c8 00 .uleb128 .LVU866 22502 14c9 00 .uleb128 .LVU877 22503 14ca 00 .uleb128 .LVU905 22504 14cb 00 .uleb128 .LVU936 22505 .LLST115: 22506 14cc A8000000 .4byte .LVL164 22507 14d0 00010000 .4byte .LVL173 22508 14d4 0100 .2byte 0x1 22509 14d6 57 .byte 0x57 22510 14d7 12010000 .4byte .LVL176 22511 14db 3A010000 .4byte .LVL179 22512 14df 0100 .2byte 0x1 22513 14e1 57 .byte 0x57 22514 14e2 7C010000 .4byte .LVL182 22515 14e6 EE010000 .4byte .LVL187 22516 14ea 0100 .2byte 0x1 22517 14ec 57 .byte 0x57 22518 14ed 00000000 .4byte 0 22519 14f1 00000000 .4byte 0 22520 .LVUS116: 22521 14f5 00 .uleb128 .LVU838 22522 14f6 00 .uleb128 .LVU853 ARM GAS /tmp/ccJhhmLc.s page 872 22523 .LLST116: 22524 14f7 AA000000 .4byte .LVL165 22525 14fb DA000000 .4byte .LVL169 22526 14ff 0100 .2byte 0x1 22527 1501 51 .byte 0x51 22528 1502 00000000 .4byte 0 22529 1506 00000000 .4byte 0 22530 .LLST117: 22531 150a 00000000 .4byte .LFB63 22532 150e 04000000 .4byte .LCFI25 22533 1512 0200 .2byte 0x2 22534 1514 7D .byte 0x7d 22535 1515 00 .sleb128 0 22536 1516 04000000 .4byte .LCFI25 22537 151a 06000000 .4byte .LCFI26 22538 151e 0200 .2byte 0x2 22539 1520 7D .byte 0x7d 22540 1521 24 .sleb128 36 22541 1522 06000000 .4byte .LCFI26 22542 1526 04010000 .4byte .LCFI27 22543 152a 0300 .2byte 0x3 22544 152c 7D .byte 0x7d 22545 152d D800 .sleb128 88 22546 152f 04010000 .4byte .LCFI27 22547 1533 08010000 .4byte .LCFI28 22548 1537 0200 .2byte 0x2 22549 1539 7D .byte 0x7d 22550 153a 24 .sleb128 36 22551 153b 08010000 .4byte .LCFI28 22552 153f 8C030000 .4byte .LFE63 22553 1543 0300 .2byte 0x3 22554 1545 7D .byte 0x7d 22555 1546 D800 .sleb128 88 22556 1548 00000000 .4byte 0 22557 154c 00000000 .4byte 0 22558 .LVUS118: 22559 1550 00 .uleb128 0 22560 1551 00 .uleb128 .LVU1065 22561 1552 00 .uleb128 .LVU1065 22562 1553 00 .uleb128 .LVU1143 22563 1554 00 .uleb128 .LVU1143 22564 1555 00 .uleb128 .LVU1347 22565 1556 00 .uleb128 .LVU1347 22566 1557 00 .uleb128 0 22567 .LLST118: 22568 1558 00000000 .4byte .LVL197 22569 155c 26000000 .4byte .LVL199 22570 1560 0100 .2byte 0x1 22571 1562 50 .byte 0x50 22572 1563 26000000 .4byte .LVL199 22573 1567 08010000 .4byte .LVL212 22574 156b 0100 .2byte 0x1 22575 156d 59 .byte 0x59 22576 156e 08010000 .4byte .LVL212 22577 1572 80030000 .4byte .LVL237 22578 1576 0A00 .2byte 0xa 22579 1578 F3 .byte 0xf3 ARM GAS /tmp/ccJhhmLc.s page 873 22580 1579 03 .uleb128 0x3 22581 157a F5 .byte 0xf5 22582 157b 00 .uleb128 0 22583 157c 29 .uleb128 0x29 22584 157d F7 .byte 0xf7 22585 157e 37 .uleb128 0x37 22586 157f F7 .byte 0xf7 22587 1580 00 .uleb128 0 22588 1581 9F .byte 0x9f 22589 1582 80030000 .4byte .LVL237 22590 1586 8C030000 .4byte .LFE63 22591 158a 0100 .2byte 0x1 22592 158c 50 .byte 0x50 22593 158d 00000000 .4byte 0 22594 1591 00000000 .4byte 0 22595 .LVUS119: 22596 1595 00 .uleb128 0 22597 1596 00 .uleb128 .LVU1066 22598 1597 00 .uleb128 .LVU1066 22599 1598 00 .uleb128 .LVU1139 22600 1599 00 .uleb128 .LVU1139 22601 159a 00 .uleb128 .LVU1347 22602 159b 00 .uleb128 .LVU1347 22603 159c 00 .uleb128 0 22604 .LLST119: 22605 159d 00000000 .4byte .LVL197 22606 15a1 29000000 .4byte .LVL200-1 22607 15a5 0100 .2byte 0x1 22608 15a7 51 .byte 0x51 22609 15a8 29000000 .4byte .LVL200-1 22610 15ac F6000000 .4byte .LVL209 22611 15b0 0100 .2byte 0x1 22612 15b2 5B .byte 0x5b 22613 15b3 F6000000 .4byte .LVL209 22614 15b7 80030000 .4byte .LVL237 22615 15bb 0A00 .2byte 0xa 22616 15bd F3 .byte 0xf3 22617 15be 03 .uleb128 0x3 22618 15bf F5 .byte 0xf5 22619 15c0 01 .uleb128 0x1 22620 15c1 29 .uleb128 0x29 22621 15c2 F7 .byte 0xf7 22622 15c3 3E .uleb128 0x3e 22623 15c4 F7 .byte 0xf7 22624 15c5 00 .uleb128 0 22625 15c6 9F .byte 0x9f 22626 15c7 80030000 .4byte .LVL237 22627 15cb 8C030000 .4byte .LFE63 22628 15cf 0100 .2byte 0x1 22629 15d1 51 .byte 0x51 22630 15d2 00000000 .4byte 0 22631 15d6 00000000 .4byte 0 22632 .LVUS120: 22633 15da 00 .uleb128 0 22634 15db 00 .uleb128 .LVU1066 22635 15dc 00 .uleb128 .LVU1066 22636 15dd 00 .uleb128 .LVU1139 ARM GAS /tmp/ccJhhmLc.s page 874 22637 15de 00 .uleb128 .LVU1139 22638 15df 00 .uleb128 .LVU1347 22639 15e0 00 .uleb128 .LVU1347 22640 15e1 00 .uleb128 0 22641 .LLST120: 22642 15e2 00000000 .4byte .LVL197 22643 15e6 29000000 .4byte .LVL200-1 22644 15ea 0100 .2byte 0x1 22645 15ec 52 .byte 0x52 22646 15ed 29000000 .4byte .LVL200-1 22647 15f1 F6000000 .4byte .LVL209 22648 15f5 0300 .2byte 0x3 22649 15f7 91 .byte 0x91 22650 15f8 B07F .sleb128 -80 22651 15fa F6000000 .4byte .LVL209 22652 15fe 80030000 .4byte .LVL237 22653 1602 0A00 .2byte 0xa 22654 1604 F3 .byte 0xf3 22655 1605 03 .uleb128 0x3 22656 1606 F5 .byte 0xf5 22657 1607 02 .uleb128 0x2 22658 1608 29 .uleb128 0x29 22659 1609 F7 .byte 0xf7 22660 160a 3E .uleb128 0x3e 22661 160b F7 .byte 0xf7 22662 160c 00 .uleb128 0 22663 160d 9F .byte 0x9f 22664 160e 80030000 .4byte .LVL237 22665 1612 8C030000 .4byte .LFE63 22666 1616 0100 .2byte 0x1 22667 1618 52 .byte 0x52 22668 1619 00000000 .4byte 0 22669 161d 00000000 .4byte 0 22670 .LVUS121: 22671 1621 00 .uleb128 0 22672 1622 00 .uleb128 .LVU1066 22673 1623 00 .uleb128 .LVU1066 22674 1624 00 .uleb128 .LVU1139 22675 1625 00 .uleb128 .LVU1139 22676 1626 00 .uleb128 .LVU1347 22677 1627 00 .uleb128 .LVU1347 22678 1628 00 .uleb128 0 22679 .LLST121: 22680 1629 00000000 .4byte .LVL197 22681 162d 29000000 .4byte .LVL200-1 22682 1631 0100 .2byte 0x1 22683 1633 53 .byte 0x53 22684 1634 29000000 .4byte .LVL200-1 22685 1638 F6000000 .4byte .LVL209 22686 163c 0300 .2byte 0x3 22687 163e 91 .byte 0x91 22688 163f B47F .sleb128 -76 22689 1641 F6000000 .4byte .LVL209 22690 1645 80030000 .4byte .LVL237 22691 1649 0A00 .2byte 0xa 22692 164b F3 .byte 0xf3 22693 164c 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 875 22694 164d F5 .byte 0xf5 22695 164e 03 .uleb128 0x3 22696 164f 29 .uleb128 0x29 22697 1650 F7 .byte 0xf7 22698 1651 3E .uleb128 0x3e 22699 1652 F7 .byte 0xf7 22700 1653 00 .uleb128 0 22701 1654 9F .byte 0x9f 22702 1655 80030000 .4byte .LVL237 22703 1659 8C030000 .4byte .LFE63 22704 165d 0100 .2byte 0x1 22705 165f 53 .byte 0x53 22706 1660 00000000 .4byte 0 22707 1664 00000000 .4byte 0 22708 .LVUS122: 22709 1668 00 .uleb128 0 22710 1669 00 .uleb128 .LVU1139 22711 166a 00 .uleb128 .LVU1143 22712 166b 00 .uleb128 .LVU1224 22713 166c 00 .uleb128 .LVU1239 22714 166d 00 .uleb128 .LVU1264 22715 166e 00 .uleb128 .LVU1347 22716 166f 00 .uleb128 0 22717 .LLST122: 22718 1670 00000000 .4byte .LVL197 22719 1674 F6000000 .4byte .LVL209 22720 1678 0200 .2byte 0x2 22721 167a 91 .byte 0x91 22722 167b 00 .sleb128 0 22723 167c 08010000 .4byte .LVL212 22724 1680 1C020000 .4byte .LVL226 22725 1684 0200 .2byte 0x2 22726 1686 91 .byte 0x91 22727 1687 00 .sleb128 0 22728 1688 34020000 .4byte .LVL229 22729 168c 7E020000 .4byte .LVL230 22730 1690 0200 .2byte 0x2 22731 1692 91 .byte 0x91 22732 1693 00 .sleb128 0 22733 1694 80030000 .4byte .LVL237 22734 1698 8C030000 .4byte .LFE63 22735 169c 0200 .2byte 0x2 22736 169e 91 .byte 0x91 22737 169f 00 .sleb128 0 22738 16a0 00000000 .4byte 0 22739 16a4 00000000 .4byte 0 22740 .LVUS123: 22741 16a8 00 .uleb128 0 22742 16a9 00 .uleb128 .LVU1139 22743 16aa 00 .uleb128 .LVU1143 22744 16ab 00 .uleb128 .LVU1224 22745 16ac 00 .uleb128 .LVU1239 22746 16ad 00 .uleb128 .LVU1264 22747 16ae 00 .uleb128 .LVU1347 22748 16af 00 .uleb128 0 22749 .LLST123: 22750 16b0 00000000 .4byte .LVL197 ARM GAS /tmp/ccJhhmLc.s page 876 22751 16b4 F6000000 .4byte .LVL209 22752 16b8 0200 .2byte 0x2 22753 16ba 91 .byte 0x91 22754 16bb 04 .sleb128 4 22755 16bc 08010000 .4byte .LVL212 22756 16c0 1C020000 .4byte .LVL226 22757 16c4 0200 .2byte 0x2 22758 16c6 91 .byte 0x91 22759 16c7 04 .sleb128 4 22760 16c8 34020000 .4byte .LVL229 22761 16cc 7E020000 .4byte .LVL230 22762 16d0 0200 .2byte 0x2 22763 16d2 91 .byte 0x91 22764 16d3 04 .sleb128 4 22765 16d4 80030000 .4byte .LVL237 22766 16d8 8C030000 .4byte .LFE63 22767 16dc 0200 .2byte 0x2 22768 16de 91 .byte 0x91 22769 16df 04 .sleb128 4 22770 16e0 00000000 .4byte 0 22771 16e4 00000000 .4byte 0 22772 .LVUS124: 22773 16e8 00 .uleb128 0 22774 16e9 00 .uleb128 .LVU1139 22775 16ea 00 .uleb128 .LVU1143 22776 16eb 00 .uleb128 .LVU1166 22777 16ec 00 .uleb128 .LVU1167 22778 16ed 00 .uleb128 .LVU1223 22779 16ee 00 .uleb128 .LVU1239 22780 16ef 00 .uleb128 .LVU1264 22781 16f0 00 .uleb128 .LVU1347 22782 16f1 00 .uleb128 0 22783 .LLST124: 22784 16f2 00000000 .4byte .LVL197 22785 16f6 F6000000 .4byte .LVL209 22786 16fa 0200 .2byte 0x2 22787 16fc 91 .byte 0x91 22788 16fd 08 .sleb128 8 22789 16fe 08010000 .4byte .LVL212 22790 1702 54010000 .4byte .LVL216 22791 1706 0200 .2byte 0x2 22792 1708 91 .byte 0x91 22793 1709 08 .sleb128 8 22794 170a 56010000 .4byte .LVL217 22795 170e 16020000 .4byte .LVL225 22796 1712 0200 .2byte 0x2 22797 1714 91 .byte 0x91 22798 1715 08 .sleb128 8 22799 1716 34020000 .4byte .LVL229 22800 171a 7E020000 .4byte .LVL230 22801 171e 0200 .2byte 0x2 22802 1720 91 .byte 0x91 22803 1721 08 .sleb128 8 22804 1722 80030000 .4byte .LVL237 22805 1726 8C030000 .4byte .LFE63 22806 172a 0200 .2byte 0x2 22807 172c 91 .byte 0x91 ARM GAS /tmp/ccJhhmLc.s page 877 22808 172d 08 .sleb128 8 22809 172e 00000000 .4byte 0 22810 1732 00000000 .4byte 0 22811 .LVUS125: 22812 1736 00 .uleb128 .LVU1061 22813 1737 00 .uleb128 .LVU1137 22814 1738 00 .uleb128 .LVU1137 22815 1739 00 .uleb128 .LVU1139 22816 173a 00 .uleb128 .LVU1139 22817 173b 00 .uleb128 .LVU1142 22818 173c 00 .uleb128 .LVU1143 22819 173d 00 .uleb128 .LVU1238 22820 173e 00 .uleb128 .LVU1238 22821 173f 00 .uleb128 .LVU1239 22822 1740 00 .uleb128 .LVU1239 22823 1741 00 .uleb128 .LVU1289 22824 1742 00 .uleb128 .LVU1289 22825 1743 00 .uleb128 .LVU1290 22826 1744 00 .uleb128 .LVU1290 22827 1745 00 .uleb128 .LVU1309 22828 1746 00 .uleb128 .LVU1309 22829 1747 00 .uleb128 .LVU1311 22830 1748 00 .uleb128 .LVU1311 22831 1749 00 .uleb128 .LVU1347 22832 .LLST125: 22833 174a 24000000 .4byte .LVL198 22834 174e EC000000 .4byte .LVL208 22835 1752 0100 .2byte 0x1 22836 1754 54 .byte 0x54 22837 1755 EC000000 .4byte .LVL208 22838 1759 F6000000 .4byte .LVL209 22839 175d 0A00 .2byte 0xa 22840 175f 79 .byte 0x79 22841 1760 00 .sleb128 0 22842 1761 1F .byte 0x1f 22843 1762 08 .byte 0x8 22844 1763 A8 .byte 0xa8 22845 1764 1A .byte 0x1a 22846 1765 75 .byte 0x75 22847 1766 00 .sleb128 0 22848 1767 22 .byte 0x22 22849 1768 9F .byte 0x9f 22850 1769 F6000000 .4byte .LVL209 22851 176d 00010000 .4byte .LVL211 22852 1771 0D00 .2byte 0xd 22853 1773 79 .byte 0x79 22854 1774 00 .sleb128 0 22855 1775 1F .byte 0x1f 22856 1776 08 .byte 0x8 22857 1777 A8 .byte 0xa8 22858 1778 1A .byte 0x1a 22859 1779 03 .byte 0x3 22860 177a 00000000 .4byte _ZL9_i2c_devs 22861 177e 22 .byte 0x22 22862 177f 9F .byte 0x9f 22863 1780 08010000 .4byte .LVL212 22864 1784 32020000 .4byte .LVL228 ARM GAS /tmp/ccJhhmLc.s page 878 22865 1788 0100 .2byte 0x1 22866 178a 54 .byte 0x54 22867 178b 32020000 .4byte .LVL228 22868 178f 34020000 .4byte .LVL229 22869 1793 0D00 .2byte 0xd 22870 1795 79 .byte 0x79 22871 1796 00 .sleb128 0 22872 1797 1F .byte 0x1f 22873 1798 08 .byte 0x8 22874 1799 A8 .byte 0xa8 22875 179a 1A .byte 0x1a 22876 179b 03 .byte 0x3 22877 179c 00000000 .4byte _ZL9_i2c_devs 22878 17a0 22 .byte 0x22 22879 17a1 9F .byte 0x9f 22880 17a2 34020000 .4byte .LVL229 22881 17a6 D8020000 .4byte .LVL232 22882 17aa 0100 .2byte 0x1 22883 17ac 54 .byte 0x54 22884 17ad D8020000 .4byte .LVL232 22885 17b1 DB020000 .4byte .LVL233-1 22886 17b5 0100 .2byte 0x1 22887 17b7 50 .byte 0x50 22888 17b8 DB020000 .4byte .LVL233-1 22889 17bc 0E030000 .4byte .LVL234 22890 17c0 0100 .2byte 0x1 22891 17c2 54 .byte 0x54 22892 17c3 0E030000 .4byte .LVL234 22893 17c7 11030000 .4byte .LVL235-1 22894 17cb 0100 .2byte 0x1 22895 17cd 50 .byte 0x50 22896 17ce 11030000 .4byte .LVL235-1 22897 17d2 80030000 .4byte .LVL237 22898 17d6 0100 .2byte 0x1 22899 17d8 54 .byte 0x54 22900 17d9 00000000 .4byte 0 22901 17dd 00000000 .4byte 0 22902 .LVUS126: 22903 17e1 02 .uleb128 .LVU1053 22904 17e2 00 .uleb128 .LVU1061 22905 17e3 00 .uleb128 .LVU1347 22906 17e4 00 .uleb128 .LVU1349 22907 .LLST126: 22908 17e5 00000000 .4byte .LVL197 22909 17e9 24000000 .4byte .LVL198 22910 17ed 0100 .2byte 0x1 22911 17ef 50 .byte 0x50 22912 17f0 80030000 .4byte .LVL237 22913 17f4 84030000 .4byte .LVL238 22914 17f8 0100 .2byte 0x1 22915 17fa 50 .byte 0x50 22916 17fb 00000000 .4byte 0 22917 17ff 00000000 .4byte 0 22918 .LVUS127: 22919 1803 01 .uleb128 .LVU1067 22920 1804 00 .uleb128 .LVU1071 22921 1805 00 .uleb128 .LVU1071 ARM GAS /tmp/ccJhhmLc.s page 879 22922 1806 00 .uleb128 .LVU1073 22923 1807 00 .uleb128 .LVU1073 22924 1808 00 .uleb128 .LVU1076 22925 1809 00 .uleb128 .LVU1076 22926 180a 00 .uleb128 .LVU1076 22927 .LLST127: 22928 180b 2A000000 .4byte .LVL200 22929 180f 30000000 .4byte .LVL201 22930 1813 0900 .2byte 0x9 22931 1815 75 .byte 0x75 22932 1816 00 .sleb128 0 22933 1817 03 .byte 0x3 22934 1818 58000000 .4byte _ZL9_i2c_devs+88 22935 181c 22 .byte 0x22 22936 181d 9F .byte 0x9f 22937 181e 30000000 .4byte .LVL201 22938 1822 32000000 .4byte .LVL202 22939 1826 0900 .2byte 0x9 22940 1828 71 .byte 0x71 22941 1829 00 .sleb128 0 22942 182a 03 .byte 0x3 22943 182b 00000000 .4byte _ZL9_i2c_devs 22944 182f 22 .byte 0x22 22945 1830 9F .byte 0x9f 22946 1831 32000000 .4byte .LVL202 22947 1835 3B000000 .4byte .LVL203-1 22948 1839 0100 .2byte 0x1 22949 183b 51 .byte 0x51 22950 183c 3B000000 .4byte .LVL203-1 22951 1840 3C000000 .4byte .LVL203 22952 1844 0400 .2byte 0x4 22953 1846 74 .byte 0x74 22954 1847 D800 .sleb128 88 22955 1849 9F .byte 0x9f 22956 184a 00000000 .4byte 0 22957 184e 00000000 .4byte 0 22958 .LVUS128: 22959 1852 02 .uleb128 .LVU1078 22960 1853 00 .uleb128 .LVU1137 22961 1854 00 .uleb128 .LVU1137 22962 1855 00 .uleb128 .LVU1139 22963 1856 00 .uleb128 .LVU1139 22964 1857 00 .uleb128 .LVU1141 22965 1858 00 .uleb128 .LVU1143 22966 1859 04 .uleb128 .LVU1236 22967 185a 00 .uleb128 .LVU1239 22968 185b 00 .uleb128 .LVU1289 22969 185c 00 .uleb128 .LVU1289 22970 185d 00 .uleb128 .LVU1290 22971 185e 00 .uleb128 .LVU1290 22972 185f 00 .uleb128 .LVU1309 22973 1860 00 .uleb128 .LVU1309 22974 1861 00 .uleb128 .LVU1311 22975 1862 00 .uleb128 .LVU1311 22976 1863 00 .uleb128 .LVU1347 22977 .LLST128: 22978 1864 3C000000 .4byte .LVL203 ARM GAS /tmp/ccJhhmLc.s page 880 22979 1868 EC000000 .4byte .LVL208 22980 186c 0100 .2byte 0x1 22981 186e 54 .byte 0x54 22982 186f EC000000 .4byte .LVL208 22983 1873 F6000000 .4byte .LVL209 22984 1877 0A00 .2byte 0xa 22985 1879 79 .byte 0x79 22986 187a 00 .sleb128 0 22987 187b 1F .byte 0x1f 22988 187c 08 .byte 0x8 22989 187d A8 .byte 0xa8 22990 187e 1A .byte 0x1a 22991 187f 75 .byte 0x75 22992 1880 00 .sleb128 0 22993 1881 22 .byte 0x22 22994 1882 9F .byte 0x9f 22995 1883 F6000000 .4byte .LVL209 22996 1887 FA000000 .4byte .LVL210 22997 188b 0D00 .2byte 0xd 22998 188d 79 .byte 0x79 22999 188e 00 .sleb128 0 23000 188f 1F .byte 0x1f 23001 1890 08 .byte 0x8 23002 1891 A8 .byte 0xa8 23003 1892 1A .byte 0x1a 23004 1893 03 .byte 0x3 23005 1894 00000000 .4byte _ZL9_i2c_devs 23006 1898 22 .byte 0x22 23007 1899 9F .byte 0x9f 23008 189a 08010000 .4byte .LVL212 23009 189e 30020000 .4byte .LVL227 23010 18a2 0100 .2byte 0x1 23011 18a4 54 .byte 0x54 23012 18a5 34020000 .4byte .LVL229 23013 18a9 D8020000 .4byte .LVL232 23014 18ad 0100 .2byte 0x1 23015 18af 54 .byte 0x54 23016 18b0 D8020000 .4byte .LVL232 23017 18b4 DB020000 .4byte .LVL233-1 23018 18b8 0100 .2byte 0x1 23019 18ba 50 .byte 0x50 23020 18bb DB020000 .4byte .LVL233-1 23021 18bf 0E030000 .4byte .LVL234 23022 18c3 0100 .2byte 0x1 23023 18c5 54 .byte 0x54 23024 18c6 0E030000 .4byte .LVL234 23025 18ca 11030000 .4byte .LVL235-1 23026 18ce 0100 .2byte 0x1 23027 18d0 50 .byte 0x50 23028 18d1 11030000 .4byte .LVL235-1 23029 18d5 80030000 .4byte .LVL237 23030 18d9 0100 .2byte 0x1 23031 18db 54 .byte 0x54 23032 18dc 00000000 .4byte 0 23033 18e0 00000000 .4byte 0 23034 .LVUS129: 23035 18e4 02 .uleb128 .LVU1078 ARM GAS /tmp/ccJhhmLc.s page 881 23036 18e5 00 .uleb128 .LVU1139 23037 18e6 00 .uleb128 .LVU1139 23038 18e7 00 .uleb128 .LVU1141 23039 18e8 00 .uleb128 .LVU1143 23040 18e9 00 .uleb128 .LVU1145 23041 18ea 00 .uleb128 .LVU1145 23042 18eb 04 .uleb128 .LVU1236 23043 18ec 00 .uleb128 .LVU1239 23044 18ed 00 .uleb128 .LVU1347 23045 .LLST129: 23046 18ee 3C000000 .4byte .LVL203 23047 18f2 F6000000 .4byte .LVL209 23048 18f6 0500 .2byte 0x5 23049 18f8 7B .byte 0x7b 23050 18f9 00 .sleb128 0 23051 18fa 31 .byte 0x31 23052 18fb 24 .byte 0x24 23053 18fc 9F .byte 0x9f 23054 18fd F6000000 .4byte .LVL209 23055 1901 FA000000 .4byte .LVL210 23056 1905 0C00 .2byte 0xc 23057 1907 F3 .byte 0xf3 23058 1908 03 .uleb128 0x3 23059 1909 F5 .byte 0xf5 23060 190a 01 .uleb128 0x1 23061 190b 29 .uleb128 0x29 23062 190c F7 .byte 0xf7 23063 190d 3E .uleb128 0x3e 23064 190e F7 .byte 0xf7 23065 190f 00 .uleb128 0 23066 1910 31 .byte 0x31 23067 1911 24 .byte 0x24 23068 1912 9F .byte 0x9f 23069 1913 08010000 .4byte .LVL212 23070 1917 0C010000 .4byte .LVL213 23071 191b 0500 .2byte 0x5 23072 191d 7B .byte 0x7b 23073 191e 00 .sleb128 0 23074 191f 31 .byte 0x31 23075 1920 24 .byte 0x24 23076 1921 9F .byte 0x9f 23077 1922 0C010000 .4byte .LVL213 23078 1926 30020000 .4byte .LVL227 23079 192a 0C00 .2byte 0xc 23080 192c F3 .byte 0xf3 23081 192d 03 .uleb128 0x3 23082 192e F5 .byte 0xf5 23083 192f 01 .uleb128 0x1 23084 1930 29 .uleb128 0x29 23085 1931 F7 .byte 0xf7 23086 1932 3E .uleb128 0x3e 23087 1933 F7 .byte 0xf7 23088 1934 00 .uleb128 0 23089 1935 31 .byte 0x31 23090 1936 24 .byte 0x24 23091 1937 9F .byte 0x9f 23092 1938 34020000 .4byte .LVL229 ARM GAS /tmp/ccJhhmLc.s page 882 23093 193c 80030000 .4byte .LVL237 23094 1940 0C00 .2byte 0xc 23095 1942 F3 .byte 0xf3 23096 1943 03 .uleb128 0x3 23097 1944 F5 .byte 0xf5 23098 1945 01 .uleb128 0x1 23099 1946 29 .uleb128 0x29 23100 1947 F7 .byte 0xf7 23101 1948 3E .uleb128 0x3e 23102 1949 F7 .byte 0xf7 23103 194a 00 .uleb128 0 23104 194b 31 .byte 0x31 23105 194c 24 .byte 0x24 23106 194d 9F .byte 0x9f 23107 194e 00000000 .4byte 0 23108 1952 00000000 .4byte 0 23109 .LVUS130: 23110 1956 02 .uleb128 .LVU1078 23111 1957 00 .uleb128 .LVU1139 23112 1958 00 .uleb128 .LVU1143 23113 1959 00 .uleb128 .LVU1224 23114 195a 00 .uleb128 .LVU1239 23115 195b 00 .uleb128 .LVU1264 23116 .LLST130: 23117 195c 3C000000 .4byte .LVL203 23118 1960 F6000000 .4byte .LVL209 23119 1964 0300 .2byte 0x3 23120 1966 91 .byte 0x91 23121 1967 B07F .sleb128 -80 23122 1969 08010000 .4byte .LVL212 23123 196d 1C020000 .4byte .LVL226 23124 1971 0300 .2byte 0x3 23125 1973 91 .byte 0x91 23126 1974 B07F .sleb128 -80 23127 1976 34020000 .4byte .LVL229 23128 197a 7E020000 .4byte .LVL230 23129 197e 0300 .2byte 0x3 23130 1980 91 .byte 0x91 23131 1981 B07F .sleb128 -80 23132 1983 00000000 .4byte 0 23133 1987 00000000 .4byte 0 23134 .LVUS131: 23135 198b 02 .uleb128 .LVU1078 23136 198c 00 .uleb128 .LVU1139 23137 198d 00 .uleb128 .LVU1143 23138 198e 00 .uleb128 .LVU1224 23139 198f 00 .uleb128 .LVU1239 23140 1990 00 .uleb128 .LVU1264 23141 .LLST131: 23142 1991 3C000000 .4byte .LVL203 23143 1995 F6000000 .4byte .LVL209 23144 1999 0300 .2byte 0x3 23145 199b 91 .byte 0x91 23146 199c B47F .sleb128 -76 23147 199e 08010000 .4byte .LVL212 23148 19a2 1C020000 .4byte .LVL226 23149 19a6 0300 .2byte 0x3 ARM GAS /tmp/ccJhhmLc.s page 883 23150 19a8 91 .byte 0x91 23151 19a9 B47F .sleb128 -76 23152 19ab 34020000 .4byte .LVL229 23153 19af 7E020000 .4byte .LVL230 23154 19b3 0300 .2byte 0x3 23155 19b5 91 .byte 0x91 23156 19b6 B47F .sleb128 -76 23157 19b8 00000000 .4byte 0 23158 19bc 00000000 .4byte 0 23159 .LVUS132: 23160 19c0 02 .uleb128 .LVU1078 23161 19c1 00 .uleb128 .LVU1139 23162 19c2 00 .uleb128 .LVU1143 23163 19c3 00 .uleb128 .LVU1224 23164 19c4 00 .uleb128 .LVU1239 23165 19c5 00 .uleb128 .LVU1264 23166 .LLST132: 23167 19c6 3C000000 .4byte .LVL203 23168 19ca F6000000 .4byte .LVL209 23169 19ce 0200 .2byte 0x2 23170 19d0 91 .byte 0x91 23171 19d1 00 .sleb128 0 23172 19d2 08010000 .4byte .LVL212 23173 19d6 1C020000 .4byte .LVL226 23174 19da 0200 .2byte 0x2 23175 19dc 91 .byte 0x91 23176 19dd 00 .sleb128 0 23177 19de 34020000 .4byte .LVL229 23178 19e2 7E020000 .4byte .LVL230 23179 19e6 0200 .2byte 0x2 23180 19e8 91 .byte 0x91 23181 19e9 00 .sleb128 0 23182 19ea 00000000 .4byte 0 23183 19ee 00000000 .4byte 0 23184 .LVUS133: 23185 19f2 02 .uleb128 .LVU1078 23186 19f3 00 .uleb128 .LVU1139 23187 19f4 00 .uleb128 .LVU1143 23188 19f5 00 .uleb128 .LVU1224 23189 19f6 00 .uleb128 .LVU1239 23190 19f7 00 .uleb128 .LVU1264 23191 .LLST133: 23192 19f8 3C000000 .4byte .LVL203 23193 19fc F6000000 .4byte .LVL209 23194 1a00 0200 .2byte 0x2 23195 1a02 91 .byte 0x91 23196 1a03 04 .sleb128 4 23197 1a04 08010000 .4byte .LVL212 23198 1a08 1C020000 .4byte .LVL226 23199 1a0c 0200 .2byte 0x2 23200 1a0e 91 .byte 0x91 23201 1a0f 04 .sleb128 4 23202 1a10 34020000 .4byte .LVL229 23203 1a14 7E020000 .4byte .LVL230 23204 1a18 0200 .2byte 0x2 23205 1a1a 91 .byte 0x91 23206 1a1b 04 .sleb128 4 ARM GAS /tmp/ccJhhmLc.s page 884 23207 1a1c 00000000 .4byte 0 23208 1a20 00000000 .4byte 0 23209 .LVUS134: 23210 1a24 02 .uleb128 .LVU1078 23211 1a25 00 .uleb128 .LVU1141 23212 1a26 00 .uleb128 .LVU1143 23213 1a27 04 .uleb128 .LVU1236 23214 1a28 00 .uleb128 .LVU1239 23215 1a29 00 .uleb128 .LVU1289 23216 1a2a 00 .uleb128 .LVU1289 23217 1a2b 00 .uleb128 .LVU1290 23218 1a2c 00 .uleb128 .LVU1290 23219 1a2d 00 .uleb128 .LVU1309 23220 1a2e 00 .uleb128 .LVU1309 23221 1a2f 00 .uleb128 .LVU1311 23222 1a30 00 .uleb128 .LVU1311 23223 1a31 00 .uleb128 .LVU1347 23224 .LLST134: 23225 1a32 3C000000 .4byte .LVL203 23226 1a36 FA000000 .4byte .LVL210 23227 1a3a 0100 .2byte 0x1 23228 1a3c 57 .byte 0x57 23229 1a3d 08010000 .4byte .LVL212 23230 1a41 30020000 .4byte .LVL227 23231 1a45 0100 .2byte 0x1 23232 1a47 57 .byte 0x57 23233 1a48 34020000 .4byte .LVL229 23234 1a4c D8020000 .4byte .LVL232 23235 1a50 0100 .2byte 0x1 23236 1a52 57 .byte 0x57 23237 1a53 D8020000 .4byte .LVL232 23238 1a57 DB020000 .4byte .LVL233-1 23239 1a5b 0100 .2byte 0x1 23240 1a5d 53 .byte 0x53 23241 1a5e DB020000 .4byte .LVL233-1 23242 1a62 0E030000 .4byte .LVL234 23243 1a66 0100 .2byte 0x1 23244 1a68 57 .byte 0x57 23245 1a69 0E030000 .4byte .LVL234 23246 1a6d 11030000 .4byte .LVL235-1 23247 1a71 0100 .2byte 0x1 23248 1a73 53 .byte 0x53 23249 1a74 11030000 .4byte .LVL235-1 23250 1a78 80030000 .4byte .LVL237 23251 1a7c 0100 .2byte 0x1 23252 1a7e 57 .byte 0x57 23253 1a7f 00000000 .4byte 0 23254 1a83 00000000 .4byte 0 23255 .LVUS135: 23256 1a87 00 .uleb128 .LVU1086 23257 1a88 00 .uleb128 .LVU1141 23258 1a89 00 .uleb128 .LVU1143 23259 1a8a 04 .uleb128 .LVU1236 23260 1a8b 00 .uleb128 .LVU1239 23261 1a8c 00 .uleb128 .LVU1347 23262 .LLST135: 23263 1a8d 44000000 .4byte .LVL204 ARM GAS /tmp/ccJhhmLc.s page 885 23264 1a91 FA000000 .4byte .LVL210 23265 1a95 0100 .2byte 0x1 23266 1a97 56 .byte 0x56 23267 1a98 08010000 .4byte .LVL212 23268 1a9c 30020000 .4byte .LVL227 23269 1aa0 0100 .2byte 0x1 23270 1aa2 56 .byte 0x56 23271 1aa3 34020000 .4byte .LVL229 23272 1aa7 80030000 .4byte .LVL237 23273 1aab 0100 .2byte 0x1 23274 1aad 56 .byte 0x56 23275 1aae 00000000 .4byte 0 23276 1ab2 00000000 .4byte 0 23277 .LVUS136: 23278 1ab6 01 .uleb128 .LVU1127 23279 1ab7 00 .uleb128 .LVU1137 23280 1ab8 00 .uleb128 .LVU1137 23281 1ab9 00 .uleb128 .LVU1139 23282 1aba 00 .uleb128 .LVU1143 23283 1abb 00 .uleb128 .LVU1166 23284 1abc 00 .uleb128 .LVU1167 23285 1abd 00 .uleb128 .LVU1204 23286 1abe 00 .uleb128 .LVU1205 23287 1abf 00 .uleb128 .LVU1211 23288 .LLST136: 23289 1ac0 C4000000 .4byte .LVL206 23290 1ac4 EC000000 .4byte .LVL208 23291 1ac8 0100 .2byte 0x1 23292 1aca 54 .byte 0x54 23293 1acb EC000000 .4byte .LVL208 23294 1acf F6000000 .4byte .LVL209 23295 1ad3 0A00 .2byte 0xa 23296 1ad5 79 .byte 0x79 23297 1ad6 00 .sleb128 0 23298 1ad7 1F .byte 0x1f 23299 1ad8 08 .byte 0x8 23300 1ad9 A8 .byte 0xa8 23301 1ada 1A .byte 0x1a 23302 1adb 75 .byte 0x75 23303 1adc 00 .sleb128 0 23304 1add 22 .byte 0x22 23305 1ade 9F .byte 0x9f 23306 1adf 08010000 .4byte .LVL212 23307 1ae3 54010000 .4byte .LVL216 23308 1ae7 0100 .2byte 0x1 23309 1ae9 54 .byte 0x54 23310 1aea 56010000 .4byte .LVL217 23311 1aee DE010000 .4byte .LVL221 23312 1af2 0100 .2byte 0x1 23313 1af4 54 .byte 0x54 23314 1af5 E0010000 .4byte .LVL222 23315 1af9 F8010000 .4byte .LVL224 23316 1afd 0100 .2byte 0x1 23317 1aff 54 .byte 0x54 23318 1b00 00000000 .4byte 0 23319 1b04 00000000 .4byte 0 23320 .LVUS137: ARM GAS /tmp/ccJhhmLc.s page 886 23321 1b08 01 .uleb128 .LVU1127 23322 1b09 00 .uleb128 .LVU1139 23323 1b0a 00 .uleb128 .LVU1143 23324 1b0b 00 .uleb128 .LVU1145 23325 1b0c 00 .uleb128 .LVU1145 23326 1b0d 00 .uleb128 .LVU1166 23327 1b0e 00 .uleb128 .LVU1167 23328 1b0f 00 .uleb128 .LVU1204 23329 1b10 00 .uleb128 .LVU1205 23330 1b11 00 .uleb128 .LVU1211 23331 .LLST137: 23332 1b12 C4000000 .4byte .LVL206 23333 1b16 F6000000 .4byte .LVL209 23334 1b1a 0500 .2byte 0x5 23335 1b1c 7B .byte 0x7b 23336 1b1d 00 .sleb128 0 23337 1b1e 31 .byte 0x31 23338 1b1f 24 .byte 0x24 23339 1b20 9F .byte 0x9f 23340 1b21 08010000 .4byte .LVL212 23341 1b25 0C010000 .4byte .LVL213 23342 1b29 0500 .2byte 0x5 23343 1b2b 7B .byte 0x7b 23344 1b2c 00 .sleb128 0 23345 1b2d 31 .byte 0x31 23346 1b2e 24 .byte 0x24 23347 1b2f 9F .byte 0x9f 23348 1b30 0C010000 .4byte .LVL213 23349 1b34 54010000 .4byte .LVL216 23350 1b38 0C00 .2byte 0xc 23351 1b3a F3 .byte 0xf3 23352 1b3b 03 .uleb128 0x3 23353 1b3c F5 .byte 0xf5 23354 1b3d 01 .uleb128 0x1 23355 1b3e 29 .uleb128 0x29 23356 1b3f F7 .byte 0xf7 23357 1b40 3E .uleb128 0x3e 23358 1b41 F7 .byte 0xf7 23359 1b42 00 .uleb128 0 23360 1b43 31 .byte 0x31 23361 1b44 24 .byte 0x24 23362 1b45 9F .byte 0x9f 23363 1b46 56010000 .4byte .LVL217 23364 1b4a DE010000 .4byte .LVL221 23365 1b4e 0C00 .2byte 0xc 23366 1b50 F3 .byte 0xf3 23367 1b51 03 .uleb128 0x3 23368 1b52 F5 .byte 0xf5 23369 1b53 01 .uleb128 0x1 23370 1b54 29 .uleb128 0x29 23371 1b55 F7 .byte 0xf7 23372 1b56 3E .uleb128 0x3e 23373 1b57 F7 .byte 0xf7 23374 1b58 00 .uleb128 0 23375 1b59 31 .byte 0x31 23376 1b5a 24 .byte 0x24 23377 1b5b 9F .byte 0x9f ARM GAS /tmp/ccJhhmLc.s page 887 23378 1b5c E0010000 .4byte .LVL222 23379 1b60 F8010000 .4byte .LVL224 23380 1b64 0C00 .2byte 0xc 23381 1b66 F3 .byte 0xf3 23382 1b67 03 .uleb128 0x3 23383 1b68 F5 .byte 0xf5 23384 1b69 01 .uleb128 0x1 23385 1b6a 29 .uleb128 0x29 23386 1b6b F7 .byte 0xf7 23387 1b6c 3E .uleb128 0x3e 23388 1b6d F7 .byte 0xf7 23389 1b6e 00 .uleb128 0 23390 1b6f 31 .byte 0x31 23391 1b70 24 .byte 0x24 23392 1b71 9F .byte 0x9f 23393 1b72 00000000 .4byte 0 23394 1b76 00000000 .4byte 0 23395 .LVUS138: 23396 1b7a 01 .uleb128 .LVU1127 23397 1b7b 00 .uleb128 .LVU1139 23398 1b7c 00 .uleb128 .LVU1143 23399 1b7d 00 .uleb128 .LVU1166 23400 1b7e 00 .uleb128 .LVU1167 23401 1b7f 00 .uleb128 .LVU1204 23402 1b80 00 .uleb128 .LVU1205 23403 1b81 00 .uleb128 .LVU1211 23404 .LLST138: 23405 1b82 C4000000 .4byte .LVL206 23406 1b86 F6000000 .4byte .LVL209 23407 1b8a 0300 .2byte 0x3 23408 1b8c 91 .byte 0x91 23409 1b8d B07F .sleb128 -80 23410 1b8f 08010000 .4byte .LVL212 23411 1b93 54010000 .4byte .LVL216 23412 1b97 0300 .2byte 0x3 23413 1b99 91 .byte 0x91 23414 1b9a B07F .sleb128 -80 23415 1b9c 56010000 .4byte .LVL217 23416 1ba0 DE010000 .4byte .LVL221 23417 1ba4 0300 .2byte 0x3 23418 1ba6 91 .byte 0x91 23419 1ba7 B07F .sleb128 -80 23420 1ba9 E0010000 .4byte .LVL222 23421 1bad F8010000 .4byte .LVL224 23422 1bb1 0300 .2byte 0x3 23423 1bb3 91 .byte 0x91 23424 1bb4 B07F .sleb128 -80 23425 1bb6 00000000 .4byte 0 23426 1bba 00000000 .4byte 0 23427 .LVUS139: 23428 1bbe 01 .uleb128 .LVU1127 23429 1bbf 00 .uleb128 .LVU1139 23430 1bc0 00 .uleb128 .LVU1143 23431 1bc1 00 .uleb128 .LVU1166 23432 1bc2 00 .uleb128 .LVU1167 23433 1bc3 00 .uleb128 .LVU1204 23434 1bc4 00 .uleb128 .LVU1205 ARM GAS /tmp/ccJhhmLc.s page 888 23435 1bc5 00 .uleb128 .LVU1211 23436 .LLST139: 23437 1bc6 C4000000 .4byte .LVL206 23438 1bca F6000000 .4byte .LVL209 23439 1bce 0300 .2byte 0x3 23440 1bd0 91 .byte 0x91 23441 1bd1 B47F .sleb128 -76 23442 1bd3 08010000 .4byte .LVL212 23443 1bd7 54010000 .4byte .LVL216 23444 1bdb 0300 .2byte 0x3 23445 1bdd 91 .byte 0x91 23446 1bde B47F .sleb128 -76 23447 1be0 56010000 .4byte .LVL217 23448 1be4 DE010000 .4byte .LVL221 23449 1be8 0300 .2byte 0x3 23450 1bea 91 .byte 0x91 23451 1beb B47F .sleb128 -76 23452 1bed E0010000 .4byte .LVL222 23453 1bf1 F8010000 .4byte .LVL224 23454 1bf5 0300 .2byte 0x3 23455 1bf7 91 .byte 0x91 23456 1bf8 B47F .sleb128 -76 23457 1bfa 00000000 .4byte 0 23458 1bfe 00000000 .4byte 0 23459 .LVUS140: 23460 1c02 01 .uleb128 .LVU1127 23461 1c03 00 .uleb128 .LVU1139 23462 1c04 00 .uleb128 .LVU1143 23463 1c05 00 .uleb128 .LVU1166 23464 1c06 00 .uleb128 .LVU1167 23465 1c07 00 .uleb128 .LVU1204 23466 1c08 00 .uleb128 .LVU1205 23467 1c09 00 .uleb128 .LVU1211 23468 .LLST140: 23469 1c0a C4000000 .4byte .LVL206 23470 1c0e F6000000 .4byte .LVL209 23471 1c12 0100 .2byte 0x1 23472 1c14 57 .byte 0x57 23473 1c15 08010000 .4byte .LVL212 23474 1c19 54010000 .4byte .LVL216 23475 1c1d 0100 .2byte 0x1 23476 1c1f 57 .byte 0x57 23477 1c20 56010000 .4byte .LVL217 23478 1c24 DE010000 .4byte .LVL221 23479 1c28 0100 .2byte 0x1 23480 1c2a 57 .byte 0x57 23481 1c2b E0010000 .4byte .LVL222 23482 1c2f F8010000 .4byte .LVL224 23483 1c33 0100 .2byte 0x1 23484 1c35 57 .byte 0x57 23485 1c36 00000000 .4byte 0 23486 1c3a 00000000 .4byte 0 23487 .LVUS141: 23488 1c3e 01 .uleb128 .LVU1127 23489 1c3f 00 .uleb128 .LVU1139 23490 1c40 00 .uleb128 .LVU1143 23491 1c41 00 .uleb128 .LVU1166 ARM GAS /tmp/ccJhhmLc.s page 889 23492 1c42 00 .uleb128 .LVU1167 23493 1c43 00 .uleb128 .LVU1204 23494 1c44 00 .uleb128 .LVU1205 23495 1c45 00 .uleb128 .LVU1211 23496 .LLST141: 23497 1c46 C4000000 .4byte .LVL206 23498 1c4a F6000000 .4byte .LVL209 23499 1c4e 0100 .2byte 0x1 23500 1c50 56 .byte 0x56 23501 1c51 08010000 .4byte .LVL212 23502 1c55 54010000 .4byte .LVL216 23503 1c59 0100 .2byte 0x1 23504 1c5b 56 .byte 0x56 23505 1c5c 56010000 .4byte .LVL217 23506 1c60 DE010000 .4byte .LVL221 23507 1c64 0100 .2byte 0x1 23508 1c66 56 .byte 0x56 23509 1c67 E0010000 .4byte .LVL222 23510 1c6b F8010000 .4byte .LVL224 23511 1c6f 0100 .2byte 0x1 23512 1c71 56 .byte 0x56 23513 1c72 00000000 .4byte 0 23514 1c76 00000000 .4byte 0 23515 .LLST142: 23516 1c7a 00000000 .4byte .LFB66 23517 1c7e 04000000 .4byte .LCFI29 23518 1c82 0200 .2byte 0x2 23519 1c84 7D .byte 0x7d 23520 1c85 00 .sleb128 0 23521 1c86 04000000 .4byte .LCFI29 23522 1c8a 06000000 .4byte .LCFI30 23523 1c8e 0200 .2byte 0x2 23524 1c90 7D .byte 0x7d 23525 1c91 24 .sleb128 36 23526 1c92 06000000 .4byte .LCFI30 23527 1c96 5A000000 .4byte .LCFI31 23528 1c9a 0300 .2byte 0x3 23529 1c9c 7D .byte 0x7d 23530 1c9d C800 .sleb128 72 23531 1c9f 5A000000 .4byte .LCFI31 23532 1ca3 5E000000 .4byte .LCFI32 23533 1ca7 0200 .2byte 0x2 23534 1ca9 7D .byte 0x7d 23535 1caa 24 .sleb128 36 23536 1cab 5E000000 .4byte .LCFI32 23537 1caf F4010000 .4byte .LFE66 23538 1cb3 0300 .2byte 0x3 23539 1cb5 7D .byte 0x7d 23540 1cb6 C800 .sleb128 72 23541 1cb8 00000000 .4byte 0 23542 1cbc 00000000 .4byte 0 23543 .LVUS143: 23544 1cc0 00 .uleb128 0 23545 1cc1 00 .uleb128 .LVU1364 23546 1cc2 00 .uleb128 .LVU1364 23547 1cc3 00 .uleb128 .LVU1394 23548 1cc4 00 .uleb128 .LVU1394 ARM GAS /tmp/ccJhhmLc.s page 890 23549 1cc5 00 .uleb128 .LVU1541 23550 1cc6 00 .uleb128 .LVU1541 23551 1cc7 00 .uleb128 0 23552 .LLST143: 23553 1cc8 00000000 .4byte .LVL239 23554 1ccc 26000000 .4byte .LVL241 23555 1cd0 0100 .2byte 0x1 23556 1cd2 50 .byte 0x50 23557 1cd3 26000000 .4byte .LVL241 23558 1cd7 5E000000 .4byte .LVL249 23559 1cdb 0100 .2byte 0x1 23560 1cdd 5A .byte 0x5a 23561 1cde 5E000000 .4byte .LVL249 23562 1ce2 D8010000 .4byte .LVL269 23563 1ce6 0A00 .2byte 0xa 23564 1ce8 F3 .byte 0xf3 23565 1ce9 03 .uleb128 0x3 23566 1cea F5 .byte 0xf5 23567 1ceb 00 .uleb128 0 23568 1cec 29 .uleb128 0x29 23569 1ced F7 .byte 0xf7 23570 1cee 37 .uleb128 0x37 23571 1cef F7 .byte 0xf7 23572 1cf0 00 .uleb128 0 23573 1cf1 9F .byte 0x9f 23574 1cf2 D8010000 .4byte .LVL269 23575 1cf6 F4010000 .4byte .LFE66 23576 1cfa 0100 .2byte 0x1 23577 1cfc 50 .byte 0x50 23578 1cfd 00000000 .4byte 0 23579 1d01 00000000 .4byte 0 23580 .LVUS144: 23581 1d05 00 .uleb128 0 23582 1d06 00 .uleb128 .LVU1365 23583 1d07 00 .uleb128 .LVU1365 23584 1d08 00 .uleb128 .LVU1541 23585 1d09 00 .uleb128 .LVU1541 23586 1d0a 00 .uleb128 0 23587 .LLST144: 23588 1d0b 00000000 .4byte .LVL239 23589 1d0f 29000000 .4byte .LVL242-1 23590 1d13 0100 .2byte 0x1 23591 1d15 51 .byte 0x51 23592 1d16 29000000 .4byte .LVL242-1 23593 1d1a D8010000 .4byte .LVL269 23594 1d1e 0200 .2byte 0x2 23595 1d20 91 .byte 0x91 23596 1d21 40 .sleb128 -64 23597 1d22 D8010000 .4byte .LVL269 23598 1d26 F4010000 .4byte .LFE66 23599 1d2a 0100 .2byte 0x1 23600 1d2c 51 .byte 0x51 23601 1d2d 00000000 .4byte 0 23602 1d31 00000000 .4byte 0 23603 .LVUS145: 23604 1d35 00 .uleb128 0 23605 1d36 00 .uleb128 .LVU1365 ARM GAS /tmp/ccJhhmLc.s page 891 23606 1d37 00 .uleb128 .LVU1365 23607 1d38 00 .uleb128 .LVU1390 23608 1d39 00 .uleb128 .LVU1390 23609 1d3a 00 .uleb128 .LVU1541 23610 1d3b 00 .uleb128 .LVU1541 23611 1d3c 00 .uleb128 0 23612 .LLST145: 23613 1d3d 00000000 .4byte .LVL239 23614 1d41 29000000 .4byte .LVL242-1 23615 1d45 0100 .2byte 0x1 23616 1d47 52 .byte 0x52 23617 1d48 29000000 .4byte .LVL242-1 23618 1d4c 4C000000 .4byte .LVL247 23619 1d50 0100 .2byte 0x1 23620 1d52 56 .byte 0x56 23621 1d53 4C000000 .4byte .LVL247 23622 1d57 D8010000 .4byte .LVL269 23623 1d5b 0A00 .2byte 0xa 23624 1d5d F3 .byte 0xf3 23625 1d5e 03 .uleb128 0x3 23626 1d5f F5 .byte 0xf5 23627 1d60 02 .uleb128 0x2 23628 1d61 29 .uleb128 0x29 23629 1d62 F7 .byte 0xf7 23630 1d63 3E .uleb128 0x3e 23631 1d64 F7 .byte 0xf7 23632 1d65 00 .uleb128 0 23633 1d66 9F .byte 0x9f 23634 1d67 D8010000 .4byte .LVL269 23635 1d6b F4010000 .4byte .LFE66 23636 1d6f 0100 .2byte 0x1 23637 1d71 52 .byte 0x52 23638 1d72 00000000 .4byte 0 23639 1d76 00000000 .4byte 0 23640 .LVUS146: 23641 1d7a 00 .uleb128 0 23642 1d7b 00 .uleb128 .LVU1365 23643 1d7c 00 .uleb128 .LVU1365 23644 1d7d 00 .uleb128 .LVU1541 23645 1d7e 00 .uleb128 .LVU1541 23646 1d7f 00 .uleb128 0 23647 .LLST146: 23648 1d80 00000000 .4byte .LVL239 23649 1d84 29000000 .4byte .LVL242-1 23650 1d88 0100 .2byte 0x1 23651 1d8a 53 .byte 0x53 23652 1d8b 29000000 .4byte .LVL242-1 23653 1d8f D8010000 .4byte .LVL269 23654 1d93 0200 .2byte 0x2 23655 1d95 91 .byte 0x91 23656 1d96 44 .sleb128 -60 23657 1d97 D8010000 .4byte .LVL269 23658 1d9b F4010000 .4byte .LFE66 23659 1d9f 0100 .2byte 0x1 23660 1da1 53 .byte 0x53 23661 1da2 00000000 .4byte 0 23662 1da6 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 892 23663 .LVUS147: 23664 1daa 00 .uleb128 0 23665 1dab 00 .uleb128 .LVU1394 23666 1dac 00 .uleb128 .LVU1394 23667 1dad 00 .uleb128 0 23668 .LLST147: 23669 1dae 00000000 .4byte .LVL239 23670 1db2 5E000000 .4byte .LVL249 23671 1db6 0200 .2byte 0x2 23672 1db8 91 .byte 0x91 23673 1db9 00 .sleb128 0 23674 1dba 5E000000 .4byte .LVL249 23675 1dbe F4010000 .4byte .LFE66 23676 1dc2 0200 .2byte 0x2 23677 1dc4 91 .byte 0x91 23678 1dc5 00 .sleb128 0 23679 1dc6 00000000 .4byte 0 23680 1dca 00000000 .4byte 0 23681 .LVUS148: 23682 1dce 00 .uleb128 0 23683 1dcf 00 .uleb128 .LVU1394 23684 1dd0 00 .uleb128 .LVU1394 23685 1dd1 00 .uleb128 0 23686 .LLST148: 23687 1dd2 00000000 .4byte .LVL239 23688 1dd6 5E000000 .4byte .LVL249 23689 1dda 0200 .2byte 0x2 23690 1ddc 91 .byte 0x91 23691 1ddd 04 .sleb128 4 23692 1dde 5E000000 .4byte .LVL249 23693 1de2 F4010000 .4byte .LFE66 23694 1de6 0200 .2byte 0x2 23695 1de8 91 .byte 0x91 23696 1de9 04 .sleb128 4 23697 1dea 00000000 .4byte 0 23698 1dee 00000000 .4byte 0 23699 .LVUS149: 23700 1df2 00 .uleb128 0 23701 1df3 00 .uleb128 .LVU1390 23702 1df4 00 .uleb128 .LVU1394 23703 1df5 00 .uleb128 .LVU1464 23704 1df6 00 .uleb128 .LVU1467 23705 1df7 00 .uleb128 .LVU1473 23706 1df8 00 .uleb128 .LVU1493 23707 1df9 00 .uleb128 .LVU1501 23708 1dfa 00 .uleb128 .LVU1541 23709 1dfb 00 .uleb128 0 23710 .LLST149: 23711 1dfc 00000000 .4byte .LVL239 23712 1e00 4C000000 .4byte .LVL247 23713 1e04 0200 .2byte 0x2 23714 1e06 91 .byte 0x91 23715 1e07 08 .sleb128 8 23716 1e08 5E000000 .4byte .LVL249 23717 1e0c 28010000 .4byte .LVL257 23718 1e10 0200 .2byte 0x2 23719 1e12 91 .byte 0x91 ARM GAS /tmp/ccJhhmLc.s page 893 23720 1e13 08 .sleb128 8 23721 1e14 32010000 .4byte .LVL259 23722 1e18 3E010000 .4byte .LVL261 23723 1e1c 0200 .2byte 0x2 23724 1e1e 91 .byte 0x91 23725 1e1f 08 .sleb128 8 23726 1e20 72010000 .4byte .LVL265 23727 1e24 88010000 .4byte .LVL267 23728 1e28 0200 .2byte 0x2 23729 1e2a 91 .byte 0x91 23730 1e2b 08 .sleb128 8 23731 1e2c D8010000 .4byte .LVL269 23732 1e30 F4010000 .4byte .LFE66 23733 1e34 0200 .2byte 0x2 23734 1e36 91 .byte 0x91 23735 1e37 08 .sleb128 8 23736 1e38 00000000 .4byte 0 23737 1e3c 00000000 .4byte 0 23738 .LVUS150: 23739 1e40 00 .uleb128 .LVU1360 23740 1e41 00 .uleb128 .LVU1393 23741 1e42 00 .uleb128 .LVU1394 23742 1e43 00 .uleb128 .LVU1478 23743 1e44 00 .uleb128 .LVU1478 23744 1e45 00 .uleb128 .LVU1480 23745 1e46 00 .uleb128 .LVU1480 23746 1e47 00 .uleb128 .LVU1501 23747 1e48 00 .uleb128 .LVU1501 23748 1e49 00 .uleb128 .LVU1504 23749 1e4a 00 .uleb128 .LVU1504 23750 1e4b 00 .uleb128 .LVU1541 23751 .LLST150: 23752 1e4c 24000000 .4byte .LVL240 23753 1e50 56000000 .4byte .LVL248 23754 1e54 0100 .2byte 0x1 23755 1e56 58 .byte 0x58 23756 1e57 5E000000 .4byte .LVL249 23757 1e5b 50010000 .4byte .LVL262 23758 1e5f 0100 .2byte 0x1 23759 1e61 58 .byte 0x58 23760 1e62 50010000 .4byte .LVL262 23761 1e66 53010000 .4byte .LVL263-1 23762 1e6a 0100 .2byte 0x1 23763 1e6c 50 .byte 0x50 23764 1e6d 53010000 .4byte .LVL263-1 23765 1e71 88010000 .4byte .LVL267 23766 1e75 0100 .2byte 0x1 23767 1e77 58 .byte 0x58 23768 1e78 88010000 .4byte .LVL267 23769 1e7c 8B010000 .4byte .LVL268-1 23770 1e80 0100 .2byte 0x1 23771 1e82 50 .byte 0x50 23772 1e83 8B010000 .4byte .LVL268-1 23773 1e87 D8010000 .4byte .LVL269 23774 1e8b 0100 .2byte 0x1 23775 1e8d 58 .byte 0x58 23776 1e8e 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 894 23777 1e92 00000000 .4byte 0 23778 .LVUS151: 23779 1e96 02 .uleb128 .LVU1352 23780 1e97 00 .uleb128 .LVU1360 23781 1e98 00 .uleb128 .LVU1541 23782 1e99 00 .uleb128 .LVU1543 23783 .LLST151: 23784 1e9a 00000000 .4byte .LVL239 23785 1e9e 24000000 .4byte .LVL240 23786 1ea2 0100 .2byte 0x1 23787 1ea4 50 .byte 0x50 23788 1ea5 D8010000 .4byte .LVL269 23789 1ea9 DC010000 .4byte .LVL270 23790 1ead 0100 .2byte 0x1 23791 1eaf 50 .byte 0x50 23792 1eb0 00000000 .4byte 0 23793 1eb4 00000000 .4byte 0 23794 .LVUS152: 23795 1eb8 01 .uleb128 .LVU1366 23796 1eb9 00 .uleb128 .LVU1370 23797 1eba 00 .uleb128 .LVU1370 23798 1ebb 00 .uleb128 .LVU1372 23799 1ebc 00 .uleb128 .LVU1372 23800 1ebd 00 .uleb128 .LVU1375 23801 1ebe 00 .uleb128 .LVU1375 23802 1ebf 00 .uleb128 .LVU1375 23803 .LLST152: 23804 1ec0 2A000000 .4byte .LVL242 23805 1ec4 30000000 .4byte .LVL243 23806 1ec8 0900 .2byte 0x9 23807 1eca 74 .byte 0x74 23808 1ecb 00 .sleb128 0 23809 1ecc 03 .byte 0x3 23810 1ecd 58000000 .4byte _ZL9_i2c_devs+88 23811 1ed1 22 .byte 0x22 23812 1ed2 9F .byte 0x9f 23813 1ed3 30000000 .4byte .LVL243 23814 1ed7 32000000 .4byte .LVL244 23815 1edb 0900 .2byte 0x9 23816 1edd 71 .byte 0x71 23817 1ede 00 .sleb128 0 23818 1edf 03 .byte 0x3 23819 1ee0 00000000 .4byte _ZL9_i2c_devs 23820 1ee4 22 .byte 0x22 23821 1ee5 9F .byte 0x9f 23822 1ee6 32000000 .4byte .LVL244 23823 1eea 3B000000 .4byte .LVL245-1 23824 1eee 0100 .2byte 0x1 23825 1ef0 51 .byte 0x51 23826 1ef1 3B000000 .4byte .LVL245-1 23827 1ef5 3C000000 .4byte .LVL245 23828 1ef9 0400 .2byte 0x4 23829 1efb 78 .byte 0x78 23830 1efc D800 .sleb128 88 23831 1efe 9F .byte 0x9f 23832 1eff 00000000 .4byte 0 23833 1f03 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 895 23834 .LVUS153: 23835 1f07 02 .uleb128 .LVU1377 23836 1f08 00 .uleb128 .LVU1390 23837 1f09 00 .uleb128 .LVU1394 23838 1f0a 00 .uleb128 .LVU1440 23839 1f0b 00 .uleb128 .LVU1441 23840 1f0c 00 .uleb128 .LVU1466 23841 1f0d 00 .uleb128 .LVU1467 23842 1f0e 00 .uleb128 .LVU1478 23843 1f0f 00 .uleb128 .LVU1478 23844 1f10 00 .uleb128 .LVU1480 23845 1f11 00 .uleb128 .LVU1480 23846 1f12 04 .uleb128 .LVU1491 23847 1f13 00 .uleb128 .LVU1493 23848 1f14 00 .uleb128 .LVU1501 23849 1f15 00 .uleb128 .LVU1501 23850 1f16 00 .uleb128 .LVU1504 23851 1f17 00 .uleb128 .LVU1504 23852 1f18 00 .uleb128 .LVU1541 23853 .LLST153: 23854 1f19 3C000000 .4byte .LVL245 23855 1f1d 4C000000 .4byte .LVL247 23856 1f21 0100 .2byte 0x1 23857 1f23 58 .byte 0x58 23858 1f24 5E000000 .4byte .LVL249 23859 1f28 EC000000 .4byte .LVL253 23860 1f2c 0100 .2byte 0x1 23861 1f2e 58 .byte 0x58 23862 1f2f EE000000 .4byte .LVL254 23863 1f33 30010000 .4byte .LVL258 23864 1f37 0100 .2byte 0x1 23865 1f39 58 .byte 0x58 23866 1f3a 32010000 .4byte .LVL259 23867 1f3e 50010000 .4byte .LVL262 23868 1f42 0100 .2byte 0x1 23869 1f44 58 .byte 0x58 23870 1f45 50010000 .4byte .LVL262 23871 1f49 53010000 .4byte .LVL263-1 23872 1f4d 0100 .2byte 0x1 23873 1f4f 50 .byte 0x50 23874 1f50 53010000 .4byte .LVL263-1 23875 1f54 6E010000 .4byte .LVL264 23876 1f58 0100 .2byte 0x1 23877 1f5a 58 .byte 0x58 23878 1f5b 72010000 .4byte .LVL265 23879 1f5f 88010000 .4byte .LVL267 23880 1f63 0100 .2byte 0x1 23881 1f65 58 .byte 0x58 23882 1f66 88010000 .4byte .LVL267 23883 1f6a 8B010000 .4byte .LVL268-1 23884 1f6e 0100 .2byte 0x1 23885 1f70 50 .byte 0x50 23886 1f71 8B010000 .4byte .LVL268-1 23887 1f75 D8010000 .4byte .LVL269 23888 1f79 0100 .2byte 0x1 23889 1f7b 58 .byte 0x58 23890 1f7c 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 896 23891 1f80 00000000 .4byte 0 23892 .LVUS154: 23893 1f84 02 .uleb128 .LVU1377 23894 1f85 00 .uleb128 .LVU1390 23895 1f86 00 .uleb128 .LVU1394 23896 1f87 00 .uleb128 .LVU1440 23897 1f88 00 .uleb128 .LVU1441 23898 1f89 00 .uleb128 .LVU1466 23899 1f8a 00 .uleb128 .LVU1467 23900 1f8b 04 .uleb128 .LVU1491 23901 1f8c 00 .uleb128 .LVU1493 23902 1f8d 00 .uleb128 .LVU1541 23903 .LLST154: 23904 1f8e 3C000000 .4byte .LVL245 23905 1f92 4C000000 .4byte .LVL247 23906 1f96 0700 .2byte 0x7 23907 1f98 91 .byte 0x91 23908 1f99 40 .sleb128 -64 23909 1f9a 94 .byte 0x94 23910 1f9b 02 .byte 0x2 23911 1f9c 31 .byte 0x31 23912 1f9d 24 .byte 0x24 23913 1f9e 9F .byte 0x9f 23914 1f9f 5E000000 .4byte .LVL249 23915 1fa3 EC000000 .4byte .LVL253 23916 1fa7 0700 .2byte 0x7 23917 1fa9 91 .byte 0x91 23918 1faa 40 .sleb128 -64 23919 1fab 94 .byte 0x94 23920 1fac 02 .byte 0x2 23921 1fad 31 .byte 0x31 23922 1fae 24 .byte 0x24 23923 1faf 9F .byte 0x9f 23924 1fb0 EE000000 .4byte .LVL254 23925 1fb4 30010000 .4byte .LVL258 23926 1fb8 0700 .2byte 0x7 23927 1fba 91 .byte 0x91 23928 1fbb 40 .sleb128 -64 23929 1fbc 94 .byte 0x94 23930 1fbd 02 .byte 0x2 23931 1fbe 31 .byte 0x31 23932 1fbf 24 .byte 0x24 23933 1fc0 9F .byte 0x9f 23934 1fc1 32010000 .4byte .LVL259 23935 1fc5 6E010000 .4byte .LVL264 23936 1fc9 0700 .2byte 0x7 23937 1fcb 91 .byte 0x91 23938 1fcc 40 .sleb128 -64 23939 1fcd 94 .byte 0x94 23940 1fce 02 .byte 0x2 23941 1fcf 31 .byte 0x31 23942 1fd0 24 .byte 0x24 23943 1fd1 9F .byte 0x9f 23944 1fd2 72010000 .4byte .LVL265 23945 1fd6 D8010000 .4byte .LVL269 23946 1fda 0700 .2byte 0x7 23947 1fdc 91 .byte 0x91 ARM GAS /tmp/ccJhhmLc.s page 897 23948 1fdd 40 .sleb128 -64 23949 1fde 94 .byte 0x94 23950 1fdf 02 .byte 0x2 23951 1fe0 31 .byte 0x31 23952 1fe1 24 .byte 0x24 23953 1fe2 9F .byte 0x9f 23954 1fe3 00000000 .4byte 0 23955 1fe7 00000000 .4byte 0 23956 .LVUS155: 23957 1feb 02 .uleb128 .LVU1377 23958 1fec 00 .uleb128 .LVU1390 23959 1fed 00 .uleb128 .LVU1394 23960 1fee 00 .uleb128 .LVU1440 23961 1fef 00 .uleb128 .LVU1441 23962 1ff0 00 .uleb128 .LVU1464 23963 1ff1 00 .uleb128 .LVU1464 23964 1ff2 00 .uleb128 .LVU1466 23965 1ff3 00 .uleb128 .LVU1467 23966 1ff4 00 .uleb128 .LVU1472 23967 1ff5 00 .uleb128 .LVU1472 23968 1ff6 04 .uleb128 .LVU1491 23969 1ff7 00 .uleb128 .LVU1493 23970 1ff8 00 .uleb128 .LVU1501 23971 1ff9 00 .uleb128 .LVU1501 23972 1ffa 00 .uleb128 .LVU1541 23973 .LLST155: 23974 1ffb 3C000000 .4byte .LVL245 23975 1fff 4C000000 .4byte .LVL247 23976 2003 0100 .2byte 0x1 23977 2005 56 .byte 0x56 23978 2006 5E000000 .4byte .LVL249 23979 200a EC000000 .4byte .LVL253 23980 200e 0100 .2byte 0x1 23981 2010 56 .byte 0x56 23982 2011 EE000000 .4byte .LVL254 23983 2015 28010000 .4byte .LVL257 23984 2019 0100 .2byte 0x1 23985 201b 56 .byte 0x56 23986 201c 28010000 .4byte .LVL257 23987 2020 30010000 .4byte .LVL258 23988 2024 0A00 .2byte 0xa 23989 2026 F3 .byte 0xf3 23990 2027 03 .uleb128 0x3 23991 2028 F5 .byte 0xf5 23992 2029 02 .uleb128 0x2 23993 202a 29 .uleb128 0x29 23994 202b F7 .byte 0xf7 23995 202c 3E .uleb128 0x3e 23996 202d F7 .byte 0xf7 23997 202e 00 .uleb128 0 23998 202f 9F .byte 0x9f 23999 2030 32010000 .4byte .LVL259 24000 2034 3C010000 .4byte .LVL260 24001 2038 0100 .2byte 0x1 24002 203a 56 .byte 0x56 24003 203b 3C010000 .4byte .LVL260 24004 203f 6E010000 .4byte .LVL264 ARM GAS /tmp/ccJhhmLc.s page 898 24005 2043 0A00 .2byte 0xa 24006 2045 F3 .byte 0xf3 24007 2046 03 .uleb128 0x3 24008 2047 F5 .byte 0xf5 24009 2048 02 .uleb128 0x2 24010 2049 29 .uleb128 0x29 24011 204a F7 .byte 0xf7 24012 204b 3E .uleb128 0x3e 24013 204c F7 .byte 0xf7 24014 204d 00 .uleb128 0 24015 204e 9F .byte 0x9f 24016 204f 72010000 .4byte .LVL265 24017 2053 88010000 .4byte .LVL267 24018 2057 0100 .2byte 0x1 24019 2059 56 .byte 0x56 24020 205a 88010000 .4byte .LVL267 24021 205e D8010000 .4byte .LVL269 24022 2062 0A00 .2byte 0xa 24023 2064 F3 .byte 0xf3 24024 2065 03 .uleb128 0x3 24025 2066 F5 .byte 0xf5 24026 2067 02 .uleb128 0x2 24027 2068 29 .uleb128 0x29 24028 2069 F7 .byte 0xf7 24029 206a 3E .uleb128 0x3e 24030 206b F7 .byte 0xf7 24031 206c 00 .uleb128 0 24032 206d 9F .byte 0x9f 24033 206e 00000000 .4byte 0 24034 2072 00000000 .4byte 0 24035 .LVUS156: 24036 2076 02 .uleb128 .LVU1377 24037 2077 00 .uleb128 .LVU1390 24038 2078 00 .uleb128 .LVU1394 24039 2079 00 .uleb128 .LVU1440 24040 207a 00 .uleb128 .LVU1441 24041 207b 00 .uleb128 .LVU1466 24042 207c 00 .uleb128 .LVU1467 24043 207d 04 .uleb128 .LVU1491 24044 207e 00 .uleb128 .LVU1493 24045 207f 00 .uleb128 .LVU1541 24046 .LLST156: 24047 2080 3C000000 .4byte .LVL245 24048 2084 4C000000 .4byte .LVL247 24049 2088 0200 .2byte 0x2 24050 208a 91 .byte 0x91 24051 208b 44 .sleb128 -60 24052 208c 5E000000 .4byte .LVL249 24053 2090 EC000000 .4byte .LVL253 24054 2094 0200 .2byte 0x2 24055 2096 91 .byte 0x91 24056 2097 44 .sleb128 -60 24057 2098 EE000000 .4byte .LVL254 24058 209c 30010000 .4byte .LVL258 24059 20a0 0200 .2byte 0x2 24060 20a2 91 .byte 0x91 24061 20a3 44 .sleb128 -60 ARM GAS /tmp/ccJhhmLc.s page 899 24062 20a4 32010000 .4byte .LVL259 24063 20a8 6E010000 .4byte .LVL264 24064 20ac 0200 .2byte 0x2 24065 20ae 91 .byte 0x91 24066 20af 44 .sleb128 -60 24067 20b0 72010000 .4byte .LVL265 24068 20b4 D8010000 .4byte .LVL269 24069 20b8 0200 .2byte 0x2 24070 20ba 91 .byte 0x91 24071 20bb 44 .sleb128 -60 24072 20bc 00000000 .4byte 0 24073 20c0 00000000 .4byte 0 24074 .LVUS157: 24075 20c4 02 .uleb128 .LVU1377 24076 20c5 00 .uleb128 .LVU1390 24077 20c6 00 .uleb128 .LVU1394 24078 20c7 00 .uleb128 .LVU1440 24079 20c8 00 .uleb128 .LVU1441 24080 20c9 00 .uleb128 .LVU1466 24081 20ca 00 .uleb128 .LVU1467 24082 20cb 04 .uleb128 .LVU1491 24083 20cc 00 .uleb128 .LVU1493 24084 20cd 00 .uleb128 .LVU1541 24085 .LLST157: 24086 20ce 3C000000 .4byte .LVL245 24087 20d2 4C000000 .4byte .LVL247 24088 20d6 0200 .2byte 0x2 24089 20d8 91 .byte 0x91 24090 20d9 00 .sleb128 0 24091 20da 5E000000 .4byte .LVL249 24092 20de EC000000 .4byte .LVL253 24093 20e2 0200 .2byte 0x2 24094 20e4 91 .byte 0x91 24095 20e5 00 .sleb128 0 24096 20e6 EE000000 .4byte .LVL254 24097 20ea 30010000 .4byte .LVL258 24098 20ee 0200 .2byte 0x2 24099 20f0 91 .byte 0x91 24100 20f1 00 .sleb128 0 24101 20f2 32010000 .4byte .LVL259 24102 20f6 6E010000 .4byte .LVL264 24103 20fa 0200 .2byte 0x2 24104 20fc 91 .byte 0x91 24105 20fd 00 .sleb128 0 24106 20fe 72010000 .4byte .LVL265 24107 2102 D8010000 .4byte .LVL269 24108 2106 0200 .2byte 0x2 24109 2108 91 .byte 0x91 24110 2109 00 .sleb128 0 24111 210a 00000000 .4byte 0 24112 210e 00000000 .4byte 0 24113 .LVUS158: 24114 2112 02 .uleb128 .LVU1377 24115 2113 00 .uleb128 .LVU1390 24116 2114 00 .uleb128 .LVU1394 24117 2115 00 .uleb128 .LVU1440 24118 2116 00 .uleb128 .LVU1441 ARM GAS /tmp/ccJhhmLc.s page 900 24119 2117 00 .uleb128 .LVU1466 24120 2118 00 .uleb128 .LVU1467 24121 2119 04 .uleb128 .LVU1491 24122 211a 00 .uleb128 .LVU1493 24123 211b 00 .uleb128 .LVU1541 24124 .LLST158: 24125 211c 3C000000 .4byte .LVL245 24126 2120 4C000000 .4byte .LVL247 24127 2124 0200 .2byte 0x2 24128 2126 91 .byte 0x91 24129 2127 04 .sleb128 4 24130 2128 5E000000 .4byte .LVL249 24131 212c EC000000 .4byte .LVL253 24132 2130 0200 .2byte 0x2 24133 2132 91 .byte 0x91 24134 2133 04 .sleb128 4 24135 2134 EE000000 .4byte .LVL254 24136 2138 30010000 .4byte .LVL258 24137 213c 0200 .2byte 0x2 24138 213e 91 .byte 0x91 24139 213f 04 .sleb128 4 24140 2140 32010000 .4byte .LVL259 24141 2144 6E010000 .4byte .LVL264 24142 2148 0200 .2byte 0x2 24143 214a 91 .byte 0x91 24144 214b 04 .sleb128 4 24145 214c 72010000 .4byte .LVL265 24146 2150 D8010000 .4byte .LVL269 24147 2154 0200 .2byte 0x2 24148 2156 91 .byte 0x91 24149 2157 04 .sleb128 4 24150 2158 00000000 .4byte 0 24151 215c 00000000 .4byte 0 24152 .LVUS159: 24153 2160 02 .uleb128 .LVU1377 24154 2161 00 .uleb128 .LVU1390 24155 2162 00 .uleb128 .LVU1394 24156 2163 00 .uleb128 .LVU1440 24157 2164 00 .uleb128 .LVU1441 24158 2165 00 .uleb128 .LVU1466 24159 2166 00 .uleb128 .LVU1467 24160 2167 00 .uleb128 .LVU1478 24161 2168 00 .uleb128 .LVU1478 24162 2169 00 .uleb128 .LVU1480 24163 216a 00 .uleb128 .LVU1480 24164 216b 04 .uleb128 .LVU1491 24165 216c 00 .uleb128 .LVU1493 24166 216d 00 .uleb128 .LVU1501 24167 216e 00 .uleb128 .LVU1501 24168 216f 00 .uleb128 .LVU1504 24169 2170 00 .uleb128 .LVU1504 24170 2171 00 .uleb128 .LVU1541 24171 .LLST159: 24172 2172 3C000000 .4byte .LVL245 24173 2176 4C000000 .4byte .LVL247 24174 217a 0100 .2byte 0x1 24175 217c 5B .byte 0x5b ARM GAS /tmp/ccJhhmLc.s page 901 24176 217d 5E000000 .4byte .LVL249 24177 2181 EC000000 .4byte .LVL253 24178 2185 0100 .2byte 0x1 24179 2187 5B .byte 0x5b 24180 2188 EE000000 .4byte .LVL254 24181 218c 30010000 .4byte .LVL258 24182 2190 0100 .2byte 0x1 24183 2192 5B .byte 0x5b 24184 2193 32010000 .4byte .LVL259 24185 2197 50010000 .4byte .LVL262 24186 219b 0100 .2byte 0x1 24187 219d 5B .byte 0x5b 24188 219e 50010000 .4byte .LVL262 24189 21a2 53010000 .4byte .LVL263-1 24190 21a6 0100 .2byte 0x1 24191 21a8 51 .byte 0x51 24192 21a9 53010000 .4byte .LVL263-1 24193 21ad 6E010000 .4byte .LVL264 24194 21b1 0100 .2byte 0x1 24195 21b3 5B .byte 0x5b 24196 21b4 72010000 .4byte .LVL265 24197 21b8 88010000 .4byte .LVL267 24198 21bc 0100 .2byte 0x1 24199 21be 5B .byte 0x5b 24200 21bf 88010000 .4byte .LVL267 24201 21c3 8B010000 .4byte .LVL268-1 24202 21c7 0100 .2byte 0x1 24203 21c9 51 .byte 0x51 24204 21ca 8B010000 .4byte .LVL268-1 24205 21ce D8010000 .4byte .LVL269 24206 21d2 0100 .2byte 0x1 24207 21d4 5B .byte 0x5b 24208 21d5 00000000 .4byte 0 24209 21d9 00000000 .4byte 0 24210 .LVUS160: 24211 21dd 00 .uleb128 .LVU1385 24212 21de 00 .uleb128 .LVU1390 24213 21df 00 .uleb128 .LVU1394 24214 21e0 00 .uleb128 .LVU1440 24215 21e1 00 .uleb128 .LVU1441 24216 21e2 00 .uleb128 .LVU1466 24217 21e3 00 .uleb128 .LVU1467 24218 21e4 00 .uleb128 .LVU1478 24219 21e5 00 .uleb128 .LVU1478 24220 21e6 00 .uleb128 .LVU1480 24221 21e7 00 .uleb128 .LVU1480 24222 21e8 04 .uleb128 .LVU1491 24223 21e9 00 .uleb128 .LVU1493 24224 21ea 00 .uleb128 .LVU1501 24225 21eb 00 .uleb128 .LVU1501 24226 21ec 00 .uleb128 .LVU1504 24227 21ed 00 .uleb128 .LVU1504 24228 21ee 00 .uleb128 .LVU1541 24229 .LLST160: 24230 21ef 44000000 .4byte .LVL246 24231 21f3 4C000000 .4byte .LVL247 24232 21f7 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 902 24233 21f9 59 .byte 0x59 24234 21fa 5E000000 .4byte .LVL249 24235 21fe EC000000 .4byte .LVL253 24236 2202 0100 .2byte 0x1 24237 2204 59 .byte 0x59 24238 2205 EE000000 .4byte .LVL254 24239 2209 30010000 .4byte .LVL258 24240 220d 0100 .2byte 0x1 24241 220f 59 .byte 0x59 24242 2210 32010000 .4byte .LVL259 24243 2214 50010000 .4byte .LVL262 24244 2218 0100 .2byte 0x1 24245 221a 59 .byte 0x59 24246 221b 50010000 .4byte .LVL262 24247 221f 53010000 .4byte .LVL263-1 24248 2223 0100 .2byte 0x1 24249 2225 52 .byte 0x52 24250 2226 53010000 .4byte .LVL263-1 24251 222a 6E010000 .4byte .LVL264 24252 222e 0100 .2byte 0x1 24253 2230 59 .byte 0x59 24254 2231 72010000 .4byte .LVL265 24255 2235 88010000 .4byte .LVL267 24256 2239 0100 .2byte 0x1 24257 223b 59 .byte 0x59 24258 223c 88010000 .4byte .LVL267 24259 2240 8B010000 .4byte .LVL268-1 24260 2244 0100 .2byte 0x1 24261 2246 52 .byte 0x52 24262 2247 8B010000 .4byte .LVL268-1 24263 224b D8010000 .4byte .LVL269 24264 224f 0100 .2byte 0x1 24265 2251 59 .byte 0x59 24266 2252 00000000 .4byte 0 24267 2256 00000000 .4byte 0 24268 .LVUS161: 24269 225a 01 .uleb128 .LVU1429 24270 225b 00 .uleb128 .LVU1440 24271 225c 00 .uleb128 .LVU1441 24272 225d 00 .uleb128 .LVU1464 24273 225e 00 .uleb128 .LVU1467 24274 225f 00 .uleb128 .LVU1473 24275 2260 00 .uleb128 .LVU1493 24276 2261 00 .uleb128 .LVU1501 24277 .LLST161: 24278 2262 C4000000 .4byte .LVL251 24279 2266 EC000000 .4byte .LVL253 24280 226a 0100 .2byte 0x1 24281 226c 58 .byte 0x58 24282 226d EE000000 .4byte .LVL254 24283 2271 28010000 .4byte .LVL257 24284 2275 0100 .2byte 0x1 24285 2277 58 .byte 0x58 24286 2278 32010000 .4byte .LVL259 24287 227c 3E010000 .4byte .LVL261 24288 2280 0100 .2byte 0x1 24289 2282 58 .byte 0x58 ARM GAS /tmp/ccJhhmLc.s page 903 24290 2283 72010000 .4byte .LVL265 24291 2287 88010000 .4byte .LVL267 24292 228b 0100 .2byte 0x1 24293 228d 58 .byte 0x58 24294 228e 00000000 .4byte 0 24295 2292 00000000 .4byte 0 24296 .LVUS162: 24297 2296 01 .uleb128 .LVU1429 24298 2297 00 .uleb128 .LVU1440 24299 2298 00 .uleb128 .LVU1441 24300 2299 00 .uleb128 .LVU1464 24301 229a 00 .uleb128 .LVU1467 24302 229b 00 .uleb128 .LVU1473 24303 229c 00 .uleb128 .LVU1493 24304 229d 00 .uleb128 .LVU1501 24305 .LLST162: 24306 229e C4000000 .4byte .LVL251 24307 22a2 EC000000 .4byte .LVL253 24308 22a6 0700 .2byte 0x7 24309 22a8 91 .byte 0x91 24310 22a9 40 .sleb128 -64 24311 22aa 94 .byte 0x94 24312 22ab 02 .byte 0x2 24313 22ac 31 .byte 0x31 24314 22ad 24 .byte 0x24 24315 22ae 9F .byte 0x9f 24316 22af EE000000 .4byte .LVL254 24317 22b3 28010000 .4byte .LVL257 24318 22b7 0700 .2byte 0x7 24319 22b9 91 .byte 0x91 24320 22ba 40 .sleb128 -64 24321 22bb 94 .byte 0x94 24322 22bc 02 .byte 0x2 24323 22bd 31 .byte 0x31 24324 22be 24 .byte 0x24 24325 22bf 9F .byte 0x9f 24326 22c0 32010000 .4byte .LVL259 24327 22c4 3E010000 .4byte .LVL261 24328 22c8 0700 .2byte 0x7 24329 22ca 91 .byte 0x91 24330 22cb 40 .sleb128 -64 24331 22cc 94 .byte 0x94 24332 22cd 02 .byte 0x2 24333 22ce 31 .byte 0x31 24334 22cf 24 .byte 0x24 24335 22d0 9F .byte 0x9f 24336 22d1 72010000 .4byte .LVL265 24337 22d5 88010000 .4byte .LVL267 24338 22d9 0700 .2byte 0x7 24339 22db 91 .byte 0x91 24340 22dc 40 .sleb128 -64 24341 22dd 94 .byte 0x94 24342 22de 02 .byte 0x2 24343 22df 31 .byte 0x31 24344 22e0 24 .byte 0x24 24345 22e1 9F .byte 0x9f 24346 22e2 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 904 24347 22e6 00000000 .4byte 0 24348 .LVUS163: 24349 22ea 01 .uleb128 .LVU1429 24350 22eb 00 .uleb128 .LVU1440 24351 22ec 00 .uleb128 .LVU1441 24352 22ed 00 .uleb128 .LVU1464 24353 22ee 00 .uleb128 .LVU1467 24354 22ef 00 .uleb128 .LVU1472 24355 22f0 00 .uleb128 .LVU1472 24356 22f1 00 .uleb128 .LVU1473 24357 22f2 00 .uleb128 .LVU1493 24358 22f3 00 .uleb128 .LVU1501 24359 .LLST163: 24360 22f4 C4000000 .4byte .LVL251 24361 22f8 EC000000 .4byte .LVL253 24362 22fc 0100 .2byte 0x1 24363 22fe 56 .byte 0x56 24364 22ff EE000000 .4byte .LVL254 24365 2303 28010000 .4byte .LVL257 24366 2307 0100 .2byte 0x1 24367 2309 56 .byte 0x56 24368 230a 32010000 .4byte .LVL259 24369 230e 3C010000 .4byte .LVL260 24370 2312 0100 .2byte 0x1 24371 2314 56 .byte 0x56 24372 2315 3C010000 .4byte .LVL260 24373 2319 3E010000 .4byte .LVL261 24374 231d 0A00 .2byte 0xa 24375 231f F3 .byte 0xf3 24376 2320 03 .uleb128 0x3 24377 2321 F5 .byte 0xf5 24378 2322 02 .uleb128 0x2 24379 2323 29 .uleb128 0x29 24380 2324 F7 .byte 0xf7 24381 2325 3E .uleb128 0x3e 24382 2326 F7 .byte 0xf7 24383 2327 00 .uleb128 0 24384 2328 9F .byte 0x9f 24385 2329 72010000 .4byte .LVL265 24386 232d 88010000 .4byte .LVL267 24387 2331 0100 .2byte 0x1 24388 2333 56 .byte 0x56 24389 2334 00000000 .4byte 0 24390 2338 00000000 .4byte 0 24391 .LVUS164: 24392 233c 01 .uleb128 .LVU1429 24393 233d 00 .uleb128 .LVU1440 24394 233e 00 .uleb128 .LVU1441 24395 233f 00 .uleb128 .LVU1464 24396 2340 00 .uleb128 .LVU1467 24397 2341 00 .uleb128 .LVU1473 24398 2342 00 .uleb128 .LVU1493 24399 2343 00 .uleb128 .LVU1501 24400 .LLST164: 24401 2344 C4000000 .4byte .LVL251 24402 2348 EC000000 .4byte .LVL253 24403 234c 0200 .2byte 0x2 ARM GAS /tmp/ccJhhmLc.s page 905 24404 234e 91 .byte 0x91 24405 234f 44 .sleb128 -60 24406 2350 EE000000 .4byte .LVL254 24407 2354 28010000 .4byte .LVL257 24408 2358 0200 .2byte 0x2 24409 235a 91 .byte 0x91 24410 235b 44 .sleb128 -60 24411 235c 32010000 .4byte .LVL259 24412 2360 3E010000 .4byte .LVL261 24413 2364 0200 .2byte 0x2 24414 2366 91 .byte 0x91 24415 2367 44 .sleb128 -60 24416 2368 72010000 .4byte .LVL265 24417 236c 88010000 .4byte .LVL267 24418 2370 0200 .2byte 0x2 24419 2372 91 .byte 0x91 24420 2373 44 .sleb128 -60 24421 2374 00000000 .4byte 0 24422 2378 00000000 .4byte 0 24423 .LVUS165: 24424 237c 01 .uleb128 .LVU1429 24425 237d 00 .uleb128 .LVU1440 24426 237e 00 .uleb128 .LVU1441 24427 237f 00 .uleb128 .LVU1464 24428 2380 00 .uleb128 .LVU1467 24429 2381 00 .uleb128 .LVU1473 24430 2382 00 .uleb128 .LVU1493 24431 2383 00 .uleb128 .LVU1501 24432 .LLST165: 24433 2384 C4000000 .4byte .LVL251 24434 2388 EC000000 .4byte .LVL253 24435 238c 0100 .2byte 0x1 24436 238e 5B .byte 0x5b 24437 238f EE000000 .4byte .LVL254 24438 2393 28010000 .4byte .LVL257 24439 2397 0100 .2byte 0x1 24440 2399 5B .byte 0x5b 24441 239a 32010000 .4byte .LVL259 24442 239e 3E010000 .4byte .LVL261 24443 23a2 0100 .2byte 0x1 24444 23a4 5B .byte 0x5b 24445 23a5 72010000 .4byte .LVL265 24446 23a9 88010000 .4byte .LVL267 24447 23ad 0100 .2byte 0x1 24448 23af 5B .byte 0x5b 24449 23b0 00000000 .4byte 0 24450 23b4 00000000 .4byte 0 24451 .LVUS166: 24452 23b8 01 .uleb128 .LVU1429 24453 23b9 00 .uleb128 .LVU1440 24454 23ba 00 .uleb128 .LVU1441 24455 23bb 00 .uleb128 .LVU1464 24456 23bc 00 .uleb128 .LVU1467 24457 23bd 00 .uleb128 .LVU1473 24458 23be 00 .uleb128 .LVU1493 24459 23bf 00 .uleb128 .LVU1501 24460 .LLST166: ARM GAS /tmp/ccJhhmLc.s page 906 24461 23c0 C4000000 .4byte .LVL251 24462 23c4 EC000000 .4byte .LVL253 24463 23c8 0100 .2byte 0x1 24464 23ca 59 .byte 0x59 24465 23cb EE000000 .4byte .LVL254 24466 23cf 28010000 .4byte .LVL257 24467 23d3 0100 .2byte 0x1 24468 23d5 59 .byte 0x59 24469 23d6 32010000 .4byte .LVL259 24470 23da 3E010000 .4byte .LVL261 24471 23de 0100 .2byte 0x1 24472 23e0 59 .byte 0x59 24473 23e1 72010000 .4byte .LVL265 24474 23e5 88010000 .4byte .LVL267 24475 23e9 0100 .2byte 0x1 24476 23eb 59 .byte 0x59 24477 23ec 00000000 .4byte 0 24478 23f0 00000000 .4byte 0 24479 .LLST167: 24480 23f4 00000000 .4byte .LFB69 24481 23f8 04000000 .4byte .LCFI33 24482 23fc 0200 .2byte 0x2 24483 23fe 7D .byte 0x7d 24484 23ff 00 .sleb128 0 24485 2400 04000000 .4byte .LCFI33 24486 2404 08000000 .4byte .LCFI34 24487 2408 0200 .2byte 0x2 24488 240a 7D .byte 0x7d 24489 240b 24 .sleb128 36 24490 240c 08000000 .4byte .LCFI34 24491 2410 5E000000 .4byte .LCFI35 24492 2414 0300 .2byte 0x3 24493 2416 7D .byte 0x7d 24494 2417 C800 .sleb128 72 24495 2419 5E000000 .4byte .LCFI35 24496 241d 62000000 .4byte .LCFI36 24497 2421 0200 .2byte 0x2 24498 2423 7D .byte 0x7d 24499 2424 24 .sleb128 36 24500 2425 62000000 .4byte .LCFI36 24501 2429 B0010000 .4byte .LFE69 24502 242d 0300 .2byte 0x3 24503 242f 7D .byte 0x7d 24504 2430 C800 .sleb128 72 24505 2432 00000000 .4byte 0 24506 2436 00000000 .4byte 0 24507 .LVUS168: 24508 243a 00 .uleb128 0 24509 243b 00 .uleb128 .LVU1562 24510 243c 00 .uleb128 .LVU1562 24511 243d 00 .uleb128 .LVU1586 24512 243e 00 .uleb128 .LVU1586 24513 243f 00 .uleb128 .LVU1710 24514 2440 00 .uleb128 .LVU1710 24515 2441 00 .uleb128 0 24516 .LLST168: 24517 2442 00000000 .4byte .LVL271 ARM GAS /tmp/ccJhhmLc.s page 907 24518 2446 2C000000 .4byte .LVL273 24519 244a 0100 .2byte 0x1 24520 244c 50 .byte 0x50 24521 244d 2C000000 .4byte .LVL273 24522 2451 50000000 .4byte .LVL277 24523 2455 0100 .2byte 0x1 24524 2457 55 .byte 0x55 24525 2458 50000000 .4byte .LVL277 24526 245c 9C010000 .4byte .LVL301 24527 2460 0A00 .2byte 0xa 24528 2462 F3 .byte 0xf3 24529 2463 03 .uleb128 0x3 24530 2464 F5 .byte 0xf5 24531 2465 00 .uleb128 0 24532 2466 29 .uleb128 0x29 24533 2467 F7 .byte 0xf7 24534 2468 37 .uleb128 0x37 24535 2469 F7 .byte 0xf7 24536 246a 00 .uleb128 0 24537 246b 9F .byte 0x9f 24538 246c 9C010000 .4byte .LVL301 24539 2470 B0010000 .4byte .LFE69 24540 2474 0100 .2byte 0x1 24541 2476 50 .byte 0x50 24542 2477 00000000 .4byte 0 24543 247b 00000000 .4byte 0 24544 .LVUS169: 24545 247f 00 .uleb128 0 24546 2480 00 .uleb128 .LVU1564 24547 2481 00 .uleb128 .LVU1564 24548 2482 00 .uleb128 .LVU1710 24549 2483 00 .uleb128 .LVU1710 24550 2484 00 .uleb128 0 24551 .LLST169: 24552 2485 00000000 .4byte .LVL271 24553 2489 33000000 .4byte .LVL274-1 24554 248d 0100 .2byte 0x1 24555 248f 51 .byte 0x51 24556 2490 33000000 .4byte .LVL274-1 24557 2494 9C010000 .4byte .LVL301 24558 2498 0200 .2byte 0x2 24559 249a 91 .byte 0x91 24560 249b 40 .sleb128 -64 24561 249c 9C010000 .4byte .LVL301 24562 24a0 B0010000 .4byte .LFE69 24563 24a4 0100 .2byte 0x1 24564 24a6 51 .byte 0x51 24565 24a7 00000000 .4byte 0 24566 24ab 00000000 .4byte 0 24567 .LVUS170: 24568 24af 00 .uleb128 0 24569 24b0 00 .uleb128 .LVU1564 24570 24b1 00 .uleb128 .LVU1564 24571 24b2 00 .uleb128 .LVU1710 24572 24b3 00 .uleb128 .LVU1710 24573 24b4 00 .uleb128 0 24574 .LLST170: ARM GAS /tmp/ccJhhmLc.s page 908 24575 24b5 00000000 .4byte .LVL271 24576 24b9 33000000 .4byte .LVL274-1 24577 24bd 0100 .2byte 0x1 24578 24bf 52 .byte 0x52 24579 24c0 33000000 .4byte .LVL274-1 24580 24c4 9C010000 .4byte .LVL301 24581 24c8 0200 .2byte 0x2 24582 24ca 91 .byte 0x91 24583 24cb 44 .sleb128 -60 24584 24cc 9C010000 .4byte .LVL301 24585 24d0 B0010000 .4byte .LFE69 24586 24d4 0100 .2byte 0x1 24587 24d6 52 .byte 0x52 24588 24d7 00000000 .4byte 0 24589 24db 00000000 .4byte 0 24590 .LVUS171: 24591 24df 00 .uleb128 0 24592 24e0 00 .uleb128 .LVU1564 24593 24e1 00 .uleb128 .LVU1564 24594 24e2 00 .uleb128 .LVU1710 24595 24e3 00 .uleb128 .LVU1710 24596 24e4 00 .uleb128 0 24597 .LLST171: 24598 24e5 00000000 .4byte .LVL271 24599 24e9 33000000 .4byte .LVL274-1 24600 24ed 0100 .2byte 0x1 24601 24ef 53 .byte 0x53 24602 24f0 33000000 .4byte .LVL274-1 24603 24f4 9C010000 .4byte .LVL301 24604 24f8 0100 .2byte 0x1 24605 24fa 57 .byte 0x57 24606 24fb 9C010000 .4byte .LVL301 24607 24ff B0010000 .4byte .LFE69 24608 2503 0100 .2byte 0x1 24609 2505 53 .byte 0x53 24610 2506 00000000 .4byte 0 24611 250a 00000000 .4byte 0 24612 .LVUS172: 24613 250e 00 .uleb128 .LVU1557 24614 250f 00 .uleb128 .LVU1589 24615 2510 00 .uleb128 .LVU1590 24616 2511 00 .uleb128 .LVU1710 24617 .LLST172: 24618 2512 26000000 .4byte .LVL272 24619 2516 5A000000 .4byte .LVL278 24620 251a 0100 .2byte 0x1 24621 251c 56 .byte 0x56 24622 251d 62000000 .4byte .LVL279 24623 2521 9C010000 .4byte .LVL301 24624 2525 0100 .2byte 0x1 24625 2527 56 .byte 0x56 24626 2528 00000000 .4byte 0 24627 252c 00000000 .4byte 0 24628 .LVUS173: 24629 2530 00 .uleb128 .LVU1621 24630 2531 00 .uleb128 .LVU1623 24631 2532 02 .uleb128 .LVU1673 ARM GAS /tmp/ccJhhmLc.s page 909 24632 2533 00 .uleb128 .LVU1675 24633 2534 02 .uleb128 .LVU1708 24634 2535 00 .uleb128 .LVU1710 24635 .LLST173: 24636 2536 E0000000 .4byte .LVL283 24637 253a E2000000 .4byte .LVL284 24638 253e 0200 .2byte 0x2 24639 2540 33 .byte 0x33 24640 2541 9F .byte 0x9f 24641 2542 50010000 .4byte .LVL293 24642 2546 52010000 .4byte .LVL294 24643 254a 0200 .2byte 0x2 24644 254c 30 .byte 0x30 24645 254d 9F .byte 0x9f 24646 254e 9A010000 .4byte .LVL300 24647 2552 9C010000 .4byte .LVL301 24648 2556 0200 .2byte 0x2 24649 2558 31 .byte 0x31 24650 2559 9F .byte 0x9f 24651 255a 00000000 .4byte 0 24652 255e 00000000 .4byte 0 24653 .LVUS174: 24654 2562 02 .uleb128 .LVU1546 24655 2563 00 .uleb128 .LVU1557 24656 2564 00 .uleb128 .LVU1710 24657 2565 00 .uleb128 .LVU1711 24658 .LLST174: 24659 2566 00000000 .4byte .LVL271 24660 256a 26000000 .4byte .LVL272 24661 256e 0100 .2byte 0x1 24662 2570 50 .byte 0x50 24663 2571 9C010000 .4byte .LVL301 24664 2575 A0010000 .4byte .LVL302 24665 2579 0100 .2byte 0x1 24666 257b 50 .byte 0x50 24667 257c 00000000 .4byte 0 24668 2580 00000000 .4byte 0 24669 .LVUS175: 24670 2584 02 .uleb128 .LVU1572 24671 2585 00 .uleb128 .LVU1586 24672 2586 00 .uleb128 .LVU1590 24673 2587 00 .uleb128 .LVU1621 24674 2588 00 .uleb128 .LVU1623 24675 2589 02 .uleb128 .LVU1673 24676 258a 00 .uleb128 .LVU1675 24677 258b 02 .uleb128 .LVU1708 24678 .LLST175: 24679 258c 44000000 .4byte .LVL275 24680 2590 50000000 .4byte .LVL277 24681 2594 0100 .2byte 0x1 24682 2596 56 .byte 0x56 24683 2597 62000000 .4byte .LVL279 24684 259b E0000000 .4byte .LVL283 24685 259f 0100 .2byte 0x1 24686 25a1 56 .byte 0x56 24687 25a2 E2000000 .4byte .LVL284 24688 25a6 50010000 .4byte .LVL293 ARM GAS /tmp/ccJhhmLc.s page 910 24689 25aa 0100 .2byte 0x1 24690 25ac 56 .byte 0x56 24691 25ad 52010000 .4byte .LVL294 24692 25b1 9A010000 .4byte .LVL300 24693 25b5 0100 .2byte 0x1 24694 25b7 56 .byte 0x56 24695 25b8 00000000 .4byte 0 24696 25bc 00000000 .4byte 0 24697 .LVUS176: 24698 25c0 02 .uleb128 .LVU1572 24699 25c1 00 .uleb128 .LVU1586 24700 25c2 00 .uleb128 .LVU1590 24701 25c3 00 .uleb128 .LVU1621 24702 25c4 00 .uleb128 .LVU1623 24703 25c5 02 .uleb128 .LVU1673 24704 25c6 00 .uleb128 .LVU1675 24705 25c7 02 .uleb128 .LVU1708 24706 .LLST176: 24707 25c8 44000000 .4byte .LVL275 24708 25cc 50000000 .4byte .LVL277 24709 25d0 0700 .2byte 0x7 24710 25d2 91 .byte 0x91 24711 25d3 40 .sleb128 -64 24712 25d4 94 .byte 0x94 24713 25d5 02 .byte 0x2 24714 25d6 31 .byte 0x31 24715 25d7 24 .byte 0x24 24716 25d8 9F .byte 0x9f 24717 25d9 62000000 .4byte .LVL279 24718 25dd E0000000 .4byte .LVL283 24719 25e1 0700 .2byte 0x7 24720 25e3 91 .byte 0x91 24721 25e4 40 .sleb128 -64 24722 25e5 94 .byte 0x94 24723 25e6 02 .byte 0x2 24724 25e7 31 .byte 0x31 24725 25e8 24 .byte 0x24 24726 25e9 9F .byte 0x9f 24727 25ea E2000000 .4byte .LVL284 24728 25ee 50010000 .4byte .LVL293 24729 25f2 0700 .2byte 0x7 24730 25f4 91 .byte 0x91 24731 25f5 40 .sleb128 -64 24732 25f6 94 .byte 0x94 24733 25f7 02 .byte 0x2 24734 25f8 31 .byte 0x31 24735 25f9 24 .byte 0x24 24736 25fa 9F .byte 0x9f 24737 25fb 52010000 .4byte .LVL294 24738 25ff 9A010000 .4byte .LVL300 24739 2603 0700 .2byte 0x7 24740 2605 91 .byte 0x91 24741 2606 40 .sleb128 -64 24742 2607 94 .byte 0x94 24743 2608 02 .byte 0x2 24744 2609 31 .byte 0x31 24745 260a 24 .byte 0x24 ARM GAS /tmp/ccJhhmLc.s page 911 24746 260b 9F .byte 0x9f 24747 260c 00000000 .4byte 0 24748 2610 00000000 .4byte 0 24749 .LVUS177: 24750 2614 02 .uleb128 .LVU1572 24751 2615 00 .uleb128 .LVU1586 24752 2616 00 .uleb128 .LVU1590 24753 2617 00 .uleb128 .LVU1621 24754 2618 00 .uleb128 .LVU1623 24755 2619 02 .uleb128 .LVU1673 24756 261a 00 .uleb128 .LVU1675 24757 261b 02 .uleb128 .LVU1708 24758 .LLST177: 24759 261c 44000000 .4byte .LVL275 24760 2620 50000000 .4byte .LVL277 24761 2624 0200 .2byte 0x2 24762 2626 91 .byte 0x91 24763 2627 44 .sleb128 -60 24764 2628 62000000 .4byte .LVL279 24765 262c E0000000 .4byte .LVL283 24766 2630 0200 .2byte 0x2 24767 2632 91 .byte 0x91 24768 2633 44 .sleb128 -60 24769 2634 E2000000 .4byte .LVL284 24770 2638 50010000 .4byte .LVL293 24771 263c 0200 .2byte 0x2 24772 263e 91 .byte 0x91 24773 263f 44 .sleb128 -60 24774 2640 52010000 .4byte .LVL294 24775 2644 9A010000 .4byte .LVL300 24776 2648 0200 .2byte 0x2 24777 264a 91 .byte 0x91 24778 264b 44 .sleb128 -60 24779 264c 00000000 .4byte 0 24780 2650 00000000 .4byte 0 24781 .LVUS178: 24782 2654 02 .uleb128 .LVU1572 24783 2655 00 .uleb128 .LVU1586 24784 2656 00 .uleb128 .LVU1590 24785 2657 00 .uleb128 .LVU1621 24786 2658 00 .uleb128 .LVU1623 24787 2659 02 .uleb128 .LVU1673 24788 265a 00 .uleb128 .LVU1675 24789 265b 02 .uleb128 .LVU1708 24790 .LLST178: 24791 265c 44000000 .4byte .LVL275 24792 2660 50000000 .4byte .LVL277 24793 2664 0100 .2byte 0x1 24794 2666 57 .byte 0x57 24795 2667 62000000 .4byte .LVL279 24796 266b E0000000 .4byte .LVL283 24797 266f 0100 .2byte 0x1 24798 2671 57 .byte 0x57 24799 2672 E2000000 .4byte .LVL284 24800 2676 50010000 .4byte .LVL293 24801 267a 0100 .2byte 0x1 24802 267c 57 .byte 0x57 ARM GAS /tmp/ccJhhmLc.s page 912 24803 267d 52010000 .4byte .LVL294 24804 2681 9A010000 .4byte .LVL300 24805 2685 0100 .2byte 0x1 24806 2687 57 .byte 0x57 24807 2688 00000000 .4byte 0 24808 268c 00000000 .4byte 0 24809 .LVUS179: 24810 2690 00 .uleb128 .LVU1579 24811 2691 00 .uleb128 .LVU1586 24812 2692 00 .uleb128 .LVU1590 24813 2693 00 .uleb128 .LVU1621 24814 2694 00 .uleb128 .LVU1623 24815 2695 00 .uleb128 .LVU1666 24816 2696 00 .uleb128 .LVU1675 24817 2697 02 .uleb128 .LVU1708 24818 .LLST179: 24819 2698 48000000 .4byte .LVL276 24820 269c 50000000 .4byte .LVL277 24821 26a0 0100 .2byte 0x1 24822 26a2 54 .byte 0x54 24823 26a3 62000000 .4byte .LVL279 24824 26a7 E0000000 .4byte .LVL283 24825 26ab 0100 .2byte 0x1 24826 26ad 54 .byte 0x54 24827 26ae E2000000 .4byte .LVL284 24828 26b2 44010000 .4byte .LVL292 24829 26b6 0100 .2byte 0x1 24830 26b8 54 .byte 0x54 24831 26b9 52010000 .4byte .LVL294 24832 26bd 9A010000 .4byte .LVL300 24833 26c1 0100 .2byte 0x1 24834 26c3 54 .byte 0x54 24835 26c4 00000000 .4byte 0 24836 26c8 00000000 .4byte 0 24837 .LVUS180: 24838 26cc 02 .uleb128 .LVU1581 24839 26cd 00 .uleb128 .LVU1586 24840 26ce 00 .uleb128 .LVU1590 24841 26cf 00 .uleb128 .LVU1610 24842 26d0 00 .uleb128 .LVU1610 24843 26d1 00 .uleb128 .LVU1621 24844 26d2 00 .uleb128 .LVU1623 24845 26d3 02 .uleb128 .LVU1673 24846 26d4 00 .uleb128 .LVU1675 24847 26d5 02 .uleb128 .LVU1708 24848 .LLST180: 24849 26d6 48000000 .4byte .LVL276 24850 26da 50000000 .4byte .LVL277 24851 26de 0200 .2byte 0x2 24852 26e0 31 .byte 0x31 24853 26e1 9F .byte 0x9f 24854 26e2 62000000 .4byte .LVL279 24855 26e6 B6000000 .4byte .LVL281 24856 26ea 0200 .2byte 0x2 24857 26ec 31 .byte 0x31 24858 26ed 9F .byte 0x9f 24859 26ee B6000000 .4byte .LVL281 ARM GAS /tmp/ccJhhmLc.s page 913 24860 26f2 E0000000 .4byte .LVL283 24861 26f6 0100 .2byte 0x1 24862 26f8 59 .byte 0x59 24863 26f9 E2000000 .4byte .LVL284 24864 26fd 50010000 .4byte .LVL293 24865 2701 0100 .2byte 0x1 24866 2703 59 .byte 0x59 24867 2704 52010000 .4byte .LVL294 24868 2708 9A010000 .4byte .LVL300 24869 270c 0100 .2byte 0x1 24870 270e 59 .byte 0x59 24871 270f 00000000 .4byte 0 24872 2713 00000000 .4byte 0 24873 .LVUS181: 24874 2717 00 .uleb128 .LVU1643 24875 2718 00 .uleb128 .LVU1664 24876 2719 00 .uleb128 .LVU1675 24877 271a 00 .uleb128 .LVU1688 24878 271b 00 .uleb128 .LVU1692 24879 271c 00 .uleb128 .LVU1696 24880 .LLST181: 24881 271d 00010000 .4byte .LVL288 24882 2721 38010000 .4byte .LVL290 24883 2725 0100 .2byte 0x1 24884 2727 51 .byte 0x51 24885 2728 52010000 .4byte .LVL294 24886 272c 62010000 .4byte .LVL295 24887 2730 0100 .2byte 0x1 24888 2732 51 .byte 0x51 24889 2733 6E010000 .4byte .LVL296 24890 2737 76010000 .4byte .LVL297 24891 273b 0100 .2byte 0x1 24892 273d 51 .byte 0x51 24893 273e 00000000 .4byte 0 24894 2742 00000000 .4byte 0 24895 .LVUS182: 24896 2746 00 .uleb128 .LVU1643 24897 2747 00 .uleb128 .LVU1647 24898 .LLST182: 24899 2748 00010000 .4byte .LVL288 24900 274c 0C010000 .4byte .LVL289 24901 2750 0100 .2byte 0x1 24902 2752 52 .byte 0x52 24903 2753 00000000 .4byte 0 24904 2757 00000000 .4byte 0 24905 .LVUS183: 24906 275b 01 .uleb128 .LVU1565 24907 275c 00 .uleb128 .LVU1570 24908 .LLST183: 24909 275d 34000000 .4byte .LVL274 24910 2761 44000000 .4byte .LVL275 24911 2765 0900 .2byte 0x9 24912 2767 74 .byte 0x74 24913 2768 00 .sleb128 0 24914 2769 03 .byte 0x3 24915 276a 58000000 .4byte _ZL9_i2c_devs+88 24916 276e 22 .byte 0x22 ARM GAS /tmp/ccJhhmLc.s page 914 24917 276f 9F .byte 0x9f 24918 2770 00000000 .4byte 0 24919 2774 00000000 .4byte 0 24920 .LLST184: 24921 2778 00000000 .4byte .LFB72 24922 277c 02000000 .4byte .LCFI37 24923 2780 0200 .2byte 0x2 24924 2782 7D .byte 0x7d 24925 2783 00 .sleb128 0 24926 2784 02000000 .4byte .LCFI37 24927 2788 44000000 .4byte .LFE72 24928 278c 0200 .2byte 0x2 24929 278e 7D .byte 0x7d 24930 278f 10 .sleb128 16 24931 2790 00000000 .4byte 0 24932 2794 00000000 .4byte 0 24933 .LVUS185: 24934 2798 00 .uleb128 0 24935 2799 00 .uleb128 .LVU1717 24936 279a 00 .uleb128 .LVU1717 24937 279b 00 .uleb128 .LVU1729 24938 279c 00 .uleb128 .LVU1729 24939 279d 00 .uleb128 0 24940 .LLST185: 24941 279e 00000000 .4byte .LVL303 24942 27a2 09000000 .4byte .LVL305-1 24943 27a6 0100 .2byte 0x1 24944 27a8 50 .byte 0x50 24945 27a9 09000000 .4byte .LVL305-1 24946 27ad 28000000 .4byte .LVL308 24947 27b1 0100 .2byte 0x1 24948 27b3 54 .byte 0x54 24949 27b4 28000000 .4byte .LVL308 24950 27b8 44000000 .4byte .LFE72 24951 27bc 0A00 .2byte 0xa 24952 27be F3 .byte 0xf3 24953 27bf 03 .uleb128 0x3 24954 27c0 F5 .byte 0xf5 24955 27c1 00 .uleb128 0 24956 27c2 29 .uleb128 0x29 24957 27c3 F7 .byte 0xf7 24958 27c4 30 .uleb128 0x30 24959 27c5 F7 .byte 0xf7 24960 27c6 00 .uleb128 0 24961 27c7 9F .byte 0x9f 24962 27c8 00000000 .4byte 0 24963 27cc 00000000 .4byte 0 24964 .LVUS186: 24965 27d0 00 .uleb128 0 24966 27d1 00 .uleb128 .LVU1717 24967 27d2 00 .uleb128 .LVU1717 24968 27d3 00 .uleb128 0 24969 .LLST186: 24970 27d4 00000000 .4byte .LVL303 24971 27d8 09000000 .4byte .LVL305-1 24972 27dc 0100 .2byte 0x1 24973 27de 51 .byte 0x51 ARM GAS /tmp/ccJhhmLc.s page 915 24974 27df 09000000 .4byte .LVL305-1 24975 27e3 44000000 .4byte .LFE72 24976 27e7 0100 .2byte 0x1 24977 27e9 55 .byte 0x55 24978 27ea 00000000 .4byte 0 24979 27ee 00000000 .4byte 0 24980 .LVUS187: 24981 27f2 00 .uleb128 .LVU1725 24982 27f3 00 .uleb128 .LVU1726 24983 27f4 00 .uleb128 .LVU1726 24984 27f5 00 .uleb128 .LVU1729 24985 27f6 00 .uleb128 .LVU1729 24986 27f7 00 .uleb128 .LVU1733 24987 27f8 00 .uleb128 .LVU1733 24988 27f9 00 .uleb128 .LVU1736 24989 .LLST187: 24990 27fa 1E000000 .4byte .LVL306 24991 27fe 22000000 .4byte .LVL307 24992 2802 0200 .2byte 0x2 24993 2804 31 .byte 0x31 24994 2805 9F .byte 0x9f 24995 2806 22000000 .4byte .LVL307 24996 280a 28000000 .4byte .LVL308 24997 280e 0200 .2byte 0x2 24998 2810 32 .byte 0x32 24999 2811 9F .byte 0x9f 25000 2812 28000000 .4byte .LVL308 25001 2816 32000000 .4byte .LVL311 25002 281a 0100 .2byte 0x1 25003 281c 53 .byte 0x53 25004 281d 32000000 .4byte .LVL311 25005 2821 38000000 .4byte .LVL312 25006 2825 0300 .2byte 0x3 25007 2827 73 .byte 0x73 25008 2828 01 .sleb128 1 25009 2829 9F .byte 0x9f 25010 282a 00000000 .4byte 0 25011 282e 00000000 .4byte 0 25012 .LVUS188: 25013 2832 00 .uleb128 .LVU1715 25014 2833 00 .uleb128 .LVU1717 25015 2834 00 .uleb128 .LVU1717 25016 2835 00 .uleb128 .LVU1729 25017 2836 00 .uleb128 .LVU1729 25018 2837 00 .uleb128 .LVU1730 25019 2838 00 .uleb128 .LVU1730 25020 2839 00 .uleb128 .LVU1733 25021 283a 00 .uleb128 .LVU1733 25022 283b 00 .uleb128 0 25023 .LLST188: 25024 283c 04000000 .4byte .LVL304 25025 2840 09000000 .4byte .LVL305-1 25026 2844 0100 .2byte 0x1 25027 2846 50 .byte 0x50 25028 2847 09000000 .4byte .LVL305-1 25029 284b 28000000 .4byte .LVL308 25030 284f 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 916 25031 2851 54 .byte 0x54 25032 2852 28000000 .4byte .LVL308 25033 2856 2C000000 .4byte .LVL309 25034 285a 0300 .2byte 0x3 25035 285c 70 .byte 0x70 25036 285d 01 .sleb128 1 25037 285e 9F .byte 0x9f 25038 285f 2C000000 .4byte .LVL309 25039 2863 32000000 .4byte .LVL311 25040 2867 0100 .2byte 0x1 25041 2869 50 .byte 0x50 25042 286a 32000000 .4byte .LVL311 25043 286e 44000000 .4byte .LFE72 25044 2872 0300 .2byte 0x3 25045 2874 70 .byte 0x70 25046 2875 01 .sleb128 1 25047 2876 9F .byte 0x9f 25048 2877 00000000 .4byte 0 25049 287b 00000000 .4byte 0 25050 .LVUS189: 25051 287f 00 .uleb128 .LVU1715 25052 2880 00 .uleb128 .LVU1717 25053 2881 00 .uleb128 .LVU1717 25054 2882 00 .uleb128 .LVU1717 25055 .LLST189: 25056 2883 04000000 .4byte .LVL304 25057 2887 09000000 .4byte .LVL305-1 25058 288b 0100 .2byte 0x1 25059 288d 50 .byte 0x50 25060 288e 09000000 .4byte .LVL305-1 25061 2892 0A000000 .4byte .LVL305 25062 2896 0100 .2byte 0x1 25063 2898 54 .byte 0x54 25064 2899 00000000 .4byte 0 25065 289d 00000000 .4byte 0 25066 .LVUS190: 25067 28a1 00 .uleb128 .LVU1715 25068 28a2 00 .uleb128 .LVU1717 25069 .LLST190: 25070 28a3 04000000 .4byte .LVL304 25071 28a7 0A000000 .4byte .LVL305 25072 28ab 0200 .2byte 0x2 25073 28ad 30 .byte 0x30 25074 28ae 9F .byte 0x9f 25075 28af 00000000 .4byte 0 25076 28b3 00000000 .4byte 0 25077 .LLST192: 25078 28b7 00000000 .4byte .LFB75 25079 28bb 02000000 .4byte .LCFI38 25080 28bf 0200 .2byte 0x2 25081 28c1 7D .byte 0x7d 25082 28c2 00 .sleb128 0 25083 28c3 02000000 .4byte .LCFI38 25084 28c7 42000000 .4byte .LCFI39 25085 28cb 0200 .2byte 0x2 25086 28cd 7D .byte 0x7d 25087 28ce 08 .sleb128 8 ARM GAS /tmp/ccJhhmLc.s page 917 25088 28cf 42000000 .4byte .LCFI39 25089 28d3 46000000 .4byte .LCFI40 25090 28d7 0200 .2byte 0x2 25091 28d9 7D .byte 0x7d 25092 28da 00 .sleb128 0 25093 28db 46000000 .4byte .LCFI40 25094 28df 50000000 .4byte .LFE75 25095 28e3 0200 .2byte 0x2 25096 28e5 7D .byte 0x7d 25097 28e6 08 .sleb128 8 25098 28e7 00000000 .4byte 0 25099 28eb 00000000 .4byte 0 25100 .LVUS193: 25101 28ef 01 .uleb128 .LVU1739 25102 28f0 00 .uleb128 .LVU1755 25103 28f1 00 .uleb128 .LVU1755 25104 28f2 00 .uleb128 .LVU1758 25105 28f3 00 .uleb128 .LVU1758 25106 28f4 00 .uleb128 0 25107 .LLST193: 25108 28f5 00000000 .4byte .LVL313 25109 28f9 3E000000 .4byte .LVL320 25110 28fd 0200 .2byte 0x2 25111 28ff 30 .byte 0x30 25112 2900 9F .byte 0x9f 25113 2901 3E000000 .4byte .LVL320 25114 2905 45000000 .4byte .LVL321-1 25115 2909 0100 .2byte 0x1 25116 290b 50 .byte 0x50 25117 290c 46000000 .4byte .LVL321 25118 2910 50000000 .4byte .LFE75 25119 2914 0200 .2byte 0x2 25120 2916 30 .byte 0x30 25121 2917 9F .byte 0x9f 25122 2918 00000000 .4byte 0 25123 291c 00000000 .4byte 0 25124 .LVUS194: 25125 2920 00 .uleb128 .LVU1741 25126 2921 00 .uleb128 .LVU1755 25127 2922 00 .uleb128 .LVU1758 25128 2923 00 .uleb128 0 25129 .LLST194: 25130 2924 08000000 .4byte .LVL314 25131 2928 3E000000 .4byte .LVL320 25132 292c 0100 .2byte 0x1 25133 292e 52 .byte 0x52 25134 292f 46000000 .4byte .LVL321 25135 2933 50000000 .4byte .LFE75 25136 2937 0100 .2byte 0x1 25137 2939 52 .byte 0x52 25138 293a 00000000 .4byte 0 25139 293e 00000000 .4byte 0 25140 .LVUS195: 25141 2942 00 .uleb128 .LVU1743 25142 2943 00 .uleb128 .LVU1754 25143 2944 00 .uleb128 .LVU1758 25144 2945 00 .uleb128 .LVU1759 ARM GAS /tmp/ccJhhmLc.s page 918 25145 2946 00 .uleb128 .LVU1759 25146 2947 00 .uleb128 0 25147 .LLST195: 25148 2948 0E000000 .4byte .LVL315 25149 294c 3A000000 .4byte .LVL319 25150 2950 0100 .2byte 0x1 25151 2952 50 .byte 0x50 25152 2953 46000000 .4byte .LVL321 25153 2957 48000000 .4byte .LVL322 25154 295b 0100 .2byte 0x1 25155 295d 50 .byte 0x50 25156 295e 48000000 .4byte .LVL322 25157 2962 50000000 .4byte .LFE75 25158 2966 0200 .2byte 0x2 25159 2968 72 .byte 0x72 25160 2969 00 .sleb128 0 25161 296a 00000000 .4byte 0 25162 296e 00000000 .4byte 0 25163 .LVUS196: 25164 2972 00 .uleb128 .LVU1749 25165 2973 00 .uleb128 .LVU1751 25166 .LLST196: 25167 2974 2C000000 .4byte .LVL316 25168 2978 34000000 .4byte .LVL317 25169 297c 0100 .2byte 0x1 25170 297e 50 .byte 0x50 25171 297f 00000000 .4byte 0 25172 2983 00000000 .4byte 0 25173 .LLST197: 25174 2987 00000000 .4byte .LFB80 25175 298b 04000000 .4byte .LCFI41 25176 298f 0200 .2byte 0x2 25177 2991 7D .byte 0x7d 25178 2992 00 .sleb128 0 25179 2993 04000000 .4byte .LCFI41 25180 2997 0A000000 .4byte .LCFI42 25181 299b 0200 .2byte 0x2 25182 299d 7D .byte 0x7d 25183 299e 24 .sleb128 36 25184 299f 0A000000 .4byte .LCFI42 25185 29a3 52010000 .4byte .LCFI43 25186 29a7 0200 .2byte 0x2 25187 29a9 7D .byte 0x7d 25188 29aa 38 .sleb128 56 25189 29ab 52010000 .4byte .LCFI43 25190 29af 56010000 .4byte .LCFI44 25191 29b3 0200 .2byte 0x2 25192 29b5 7D .byte 0x7d 25193 29b6 24 .sleb128 36 25194 29b7 56010000 .4byte .LCFI44 25195 29bb CC030000 .4byte .LFE80 25196 29bf 0200 .2byte 0x2 25197 29c1 7D .byte 0x7d 25198 29c2 38 .sleb128 56 25199 29c3 00000000 .4byte 0 25200 29c7 00000000 .4byte 0 25201 .LVUS199: ARM GAS /tmp/ccJhhmLc.s page 919 25202 29cb 00 .uleb128 .LVU1774 25203 29cc 00 .uleb128 .LVU1834 25204 29cd 00 .uleb128 .LVU1848 25205 29ce 00 .uleb128 0 25206 .LLST199: 25207 29cf 2E000000 .4byte .LVL324 25208 29d3 30010000 .4byte .LVL339 25209 29d7 0400 .2byte 0x4 25210 29d9 44 .byte 0x44 25211 29da 4A .byte 0x4a 25212 29db 24 .byte 0x24 25213 29dc 9F .byte 0x9f 25214 29dd 56010000 .4byte .LVL349 25215 29e1 CC030000 .4byte .LFE80 25216 29e5 0400 .2byte 0x4 25217 29e7 44 .byte 0x44 25218 29e8 4A .byte 0x4a 25219 29e9 24 .byte 0x24 25220 29ea 9F .byte 0x9f 25221 29eb 00000000 .4byte 0 25222 29ef 00000000 .4byte 0 25223 .LVUS200: 25224 29f3 00 .uleb128 .LVU1871 25225 29f4 00 .uleb128 .LVU1873 25226 29f5 00 .uleb128 .LVU1874 25227 29f6 00 .uleb128 .LVU1876 25228 29f7 00 .uleb128 .LVU1876 25229 29f8 00 .uleb128 .LVU1879 25230 29f9 00 .uleb128 .LVU1947 25231 29fa 00 .uleb128 .LVU1955 25232 29fb 00 .uleb128 .LVU1955 25233 29fc 00 .uleb128 .LVU1956 25234 29fd 00 .uleb128 .LVU1956 25235 29fe 00 .uleb128 .LVU1962 25236 29ff 00 .uleb128 .LVU1962 25237 2a00 00 .uleb128 .LVU1963 25238 .LLST200: 25239 2a01 BC010000 .4byte .LVL357 25240 2a05 CC010000 .4byte .LVL358 25241 2a09 0100 .2byte 0x1 25242 2a0b 52 .byte 0x52 25243 2a0c CE010000 .4byte .LVL359 25244 2a10 E0010000 .4byte .LVL360 25245 2a14 0100 .2byte 0x1 25246 2a16 50 .byte 0x50 25247 2a17 E0010000 .4byte .LVL360 25248 2a1b EC010000 .4byte .LVL362 25249 2a1f 0300 .2byte 0x3 25250 2a21 71 .byte 0x71 25251 2a22 7F .sleb128 -1 25252 2a23 9F .byte 0x9f 25253 2a24 06030000 .4byte .LVL376 25254 2a28 20030000 .4byte .LVL377 25255 2a2c 0100 .2byte 0x1 25256 2a2e 52 .byte 0x52 25257 2a2f 20030000 .4byte .LVL377 25258 2a33 22030000 .4byte .LVL378 ARM GAS /tmp/ccJhhmLc.s page 920 25259 2a37 0100 .2byte 0x1 25260 2a39 51 .byte 0x51 25261 2a3a 22030000 .4byte .LVL378 25262 2a3e 3A030000 .4byte .LVL379 25263 2a42 0100 .2byte 0x1 25264 2a44 50 .byte 0x50 25265 2a45 3A030000 .4byte .LVL379 25266 2a49 3C030000 .4byte .LVL380 25267 2a4d 0100 .2byte 0x1 25268 2a4f 51 .byte 0x51 25269 2a50 00000000 .4byte 0 25270 2a54 00000000 .4byte 0 25271 .LVUS202: 25272 2a58 00 .uleb128 .LVU1779 25273 2a59 00 .uleb128 .LVU1781 25274 .LLST202: 25275 2a5a 5C000000 .4byte .LVL326 25276 2a5e 64000000 .4byte .LVL327 25277 2a62 0300 .2byte 0x3 25278 2a64 08 .byte 0x8 25279 2a65 43 .byte 0x43 25280 2a66 9F .byte 0x9f 25281 2a67 00000000 .4byte 0 25282 2a6b 00000000 .4byte 0 25283 .LVUS203: 25284 2a6f 00 .uleb128 .LVU1779 25285 2a70 00 .uleb128 .LVU1781 25286 .LLST203: 25287 2a71 5C000000 .4byte .LVL326 25288 2a75 64000000 .4byte .LVL327 25289 2a79 0200 .2byte 0x2 25290 2a7b 3B .byte 0x3b 25291 2a7c 9F .byte 0x9f 25292 2a7d 00000000 .4byte 0 25293 2a81 00000000 .4byte 0 25294 .LVUS204: 25295 2a85 00 .uleb128 .LVU1781 25296 2a86 00 .uleb128 .LVU1783 25297 .LLST204: 25298 2a87 64000000 .4byte .LVL327 25299 2a8b 68000000 .4byte .LVL328 25300 2a8f 0300 .2byte 0x3 25301 2a91 08 .byte 0x8 25302 2a92 43 .byte 0x43 25303 2a93 9F .byte 0x9f 25304 2a94 00000000 .4byte 0 25305 2a98 00000000 .4byte 0 25306 .LVUS206: 25307 2a9c 00 .uleb128 .LVU1783 25308 2a9d 00 .uleb128 .LVU1794 25309 .LLST206: 25310 2a9e 68000000 .4byte .LVL328 25311 2aa2 8C000000 .4byte .LVL330 25312 2aa6 0400 .2byte 0x4 25313 2aa8 44 .byte 0x44 25314 2aa9 4A .byte 0x4a 25315 2aaa 24 .byte 0x24 ARM GAS /tmp/ccJhhmLc.s page 921 25316 2aab 9F .byte 0x9f 25317 2aac 00000000 .4byte 0 25318 2ab0 00000000 .4byte 0 25319 .LVUS208: 25320 2ab4 00 .uleb128 .LVU1796 25321 2ab5 00 .uleb128 .LVU1805 25322 .LLST208: 25323 2ab6 90000000 .4byte .LVL331 25324 2aba BA000000 .4byte .LVL333 25325 2abe 0400 .2byte 0x4 25326 2ac0 44 .byte 0x44 25327 2ac1 4A .byte 0x4a 25328 2ac2 24 .byte 0x24 25329 2ac3 9F .byte 0x9f 25330 2ac4 00000000 .4byte 0 25331 2ac8 00000000 .4byte 0 25332 .LVUS209: 25333 2acc 00 .uleb128 .LVU1811 25334 2acd 00 .uleb128 .LVU1813 25335 .LLST209: 25336 2ace CE000000 .4byte .LVL334 25337 2ad2 D6000000 .4byte .LVL335 25338 2ad6 0400 .2byte 0x4 25339 2ad8 44 .byte 0x44 25340 2ad9 4A .byte 0x4a 25341 2ada 24 .byte 0x24 25342 2adb 9F .byte 0x9f 25343 2adc 00000000 .4byte 0 25344 2ae0 00000000 .4byte 0 25345 .LVUS210: 25346 2ae4 00 .uleb128 .LVU1815 25347 2ae5 00 .uleb128 .LVU1831 25348 2ae6 00 .uleb128 .LVU1848 25349 2ae7 00 .uleb128 .LVU1855 25350 .LLST210: 25351 2ae8 DA000000 .4byte .LVL336 25352 2aec 28010000 .4byte .LVL338 25353 2af0 0400 .2byte 0x4 25354 2af2 44 .byte 0x44 25355 2af3 4A .byte 0x4a 25356 2af4 24 .byte 0x24 25357 2af5 9F .byte 0x9f 25358 2af6 56010000 .4byte .LVL349 25359 2afa 8C010000 .4byte .LVL351 25360 2afe 0400 .2byte 0x4 25361 2b00 44 .byte 0x44 25362 2b01 4A .byte 0x4a 25363 2b02 24 .byte 0x24 25364 2b03 9F .byte 0x9f 25365 2b04 00000000 .4byte 0 25366 2b08 00000000 .4byte 0 25367 .LVUS211: 25368 2b0c 00 .uleb128 .LVU1826 25369 2b0d 00 .uleb128 .LVU1831 25370 2b0e 00 .uleb128 .LVU1851 25371 2b0f 00 .uleb128 .LVU1855 25372 .LLST211: ARM GAS /tmp/ccJhhmLc.s page 922 25373 2b10 10010000 .4byte .LVL337 25374 2b14 28010000 .4byte .LVL338 25375 2b18 0100 .2byte 0x1 25376 2b1a 50 .byte 0x50 25377 2b1b 68010000 .4byte .LVL350 25378 2b1f 8C010000 .4byte .LVL351 25379 2b23 0100 .2byte 0x1 25380 2b25 50 .byte 0x50 25381 2b26 00000000 .4byte 0 25382 2b2a 00000000 .4byte 0 25383 .LVUS212: 25384 2b2e 00 .uleb128 .LVU1855 25385 2b2f 00 .uleb128 .LVU1870 25386 2b30 00 .uleb128 .LVU1945 25387 2b31 00 .uleb128 .LVU1947 25388 .LLST212: 25389 2b32 8C010000 .4byte .LVL351 25390 2b36 BA010000 .4byte .LVL356 25391 2b3a 0200 .2byte 0x2 25392 2b3c 30 .byte 0x30 25393 2b3d 9F .byte 0x9f 25394 2b3e FE020000 .4byte .LVL374 25395 2b42 06030000 .4byte .LVL376 25396 2b46 0200 .2byte 0x2 25397 2b48 30 .byte 0x30 25398 2b49 9F .byte 0x9f 25399 2b4a 00000000 .4byte 0 25400 2b4e 00000000 .4byte 0 25401 .LVUS213: 25402 2b52 00 .uleb128 .LVU1855 25403 2b53 00 .uleb128 .LVU1870 25404 2b54 00 .uleb128 .LVU1945 25405 2b55 00 .uleb128 .LVU1947 25406 .LLST213: 25407 2b56 8C010000 .4byte .LVL351 25408 2b5a BA010000 .4byte .LVL356 25409 2b5e 0400 .2byte 0x4 25410 2b60 44 .byte 0x44 25411 2b61 4A .byte 0x4a 25412 2b62 24 .byte 0x24 25413 2b63 9F .byte 0x9f 25414 2b64 FE020000 .4byte .LVL374 25415 2b68 06030000 .4byte .LVL376 25416 2b6c 0400 .2byte 0x4 25417 2b6e 44 .byte 0x44 25418 2b6f 4A .byte 0x4a 25419 2b70 24 .byte 0x24 25420 2b71 9F .byte 0x9f 25421 2b72 00000000 .4byte 0 25422 2b76 00000000 .4byte 0 25423 .LVUS214: 25424 2b7a 00 .uleb128 .LVU1855 25425 2b7b 00 .uleb128 .LVU1862 25426 2b7c 00 .uleb128 .LVU1862 25427 2b7d 00 .uleb128 .LVU1863 25428 2b7e 00 .uleb128 .LVU1863 25429 2b7f 00 .uleb128 .LVU1866 ARM GAS /tmp/ccJhhmLc.s page 923 25430 2b80 00 .uleb128 .LVU1945 25431 2b81 00 .uleb128 .LVU1946 25432 2b82 00 .uleb128 .LVU1946 25433 2b83 00 .uleb128 .LVU1947 25434 .LLST214: 25435 2b84 8C010000 .4byte .LVL351 25436 2b88 A2010000 .4byte .LVL352 25437 2b8c 0200 .2byte 0x2 25438 2b8e 30 .byte 0x30 25439 2b8f 9F .byte 0x9f 25440 2b90 A2010000 .4byte .LVL352 25441 2b94 A8010000 .4byte .LVL353 25442 2b98 0600 .2byte 0x6 25443 2b9a 08 .byte 0x8 25444 2b9b 32 .byte 0x32 25445 2b9c 76 .byte 0x76 25446 2b9d 00 .sleb128 0 25447 2b9e 1C .byte 0x1c 25448 2b9f 9F .byte 0x9f 25449 2ba0 A8010000 .4byte .LVL353 25450 2ba4 B0010000 .4byte .LVL355 25451 2ba8 0600 .2byte 0x6 25452 2baa 08 .byte 0x8 25453 2bab 33 .byte 0x33 25454 2bac 76 .byte 0x76 25455 2bad 00 .sleb128 0 25456 2bae 1C .byte 0x1c 25457 2baf 9F .byte 0x9f 25458 2bb0 FE020000 .4byte .LVL374 25459 2bb4 00030000 .4byte .LVL375 25460 2bb8 0600 .2byte 0x6 25461 2bba 08 .byte 0x8 25462 2bbb 33 .byte 0x33 25463 2bbc 76 .byte 0x76 25464 2bbd 00 .sleb128 0 25465 2bbe 1C .byte 0x1c 25466 2bbf 9F .byte 0x9f 25467 2bc0 00030000 .4byte .LVL375 25468 2bc4 06030000 .4byte .LVL376 25469 2bc8 0600 .2byte 0x6 25470 2bca 08 .byte 0x8 25471 2bcb 32 .byte 0x32 25472 2bcc 76 .byte 0x76 25473 2bcd 00 .sleb128 0 25474 2bce 1C .byte 0x1c 25475 2bcf 9F .byte 0x9f 25476 2bd0 00000000 .4byte 0 25477 2bd4 00000000 .4byte 0 25478 .LVUS215: 25479 2bd8 00 .uleb128 .LVU1863 25480 2bd9 00 .uleb128 .LVU1864 25481 .LLST215: 25482 2bda A8010000 .4byte .LVL353 25483 2bde AA010000 .4byte .LVL354 25484 2be2 0400 .2byte 0x4 25485 2be4 44 .byte 0x44 25486 2be5 4A .byte 0x4a ARM GAS /tmp/ccJhhmLc.s page 924 25487 2be6 24 .byte 0x24 25488 2be7 9F .byte 0x9f 25489 2be8 00000000 .4byte 0 25490 2bec 00000000 .4byte 0 25491 .LVUS217: 25492 2bf0 00 .uleb128 .LVU1877 25493 2bf1 00 .uleb128 .LVU1937 25494 2bf2 00 .uleb128 .LVU1963 25495 2bf3 00 .uleb128 0 25496 .LLST217: 25497 2bf4 E4010000 .4byte .LVL361 25498 2bf8 E4020000 .4byte .LVL372 25499 2bfc 0400 .2byte 0x4 25500 2bfe 44 .byte 0x44 25501 2bff 4A .byte 0x4a 25502 2c00 24 .byte 0x24 25503 2c01 9F .byte 0x9f 25504 2c02 3C030000 .4byte .LVL380 25505 2c06 CC030000 .4byte .LFE80 25506 2c0a 0400 .2byte 0x4 25507 2c0c 44 .byte 0x44 25508 2c0d 4A .byte 0x4a 25509 2c0e 24 .byte 0x24 25510 2c0f 9F .byte 0x9f 25511 2c10 00000000 .4byte 0 25512 2c14 00000000 .4byte 0 25513 .LVUS218: 25514 2c18 00 .uleb128 .LVU1877 25515 2c19 00 .uleb128 .LVU1904 25516 2c1a 00 .uleb128 .LVU1904 25517 2c1b 00 .uleb128 .LVU1908 25518 2c1c 00 .uleb128 .LVU1908 25519 2c1d 00 .uleb128 .LVU1937 25520 2c1e 00 .uleb128 .LVU1963 25521 2c1f 00 .uleb128 .LVU1969 25522 2c20 00 .uleb128 .LVU1969 25523 2c21 00 .uleb128 0 25524 .LLST218: 25525 2c22 E4010000 .4byte .LVL361 25526 2c26 58020000 .4byte .LVL366 25527 2c2a 0200 .2byte 0x2 25528 2c2c 30 .byte 0x30 25529 2c2d 9F .byte 0x9f 25530 2c2e 58020000 .4byte .LVL366 25531 2c32 6E020000 .4byte .LVL368 25532 2c36 0700 .2byte 0x7 25533 2c38 78 .byte 0x78 25534 2c39 00 .sleb128 0 25535 2c3a 48 .byte 0x48 25536 2c3b 24 .byte 0x24 25537 2c3c 30 .byte 0x30 25538 2c3d 2E .byte 0x2e 25539 2c3e 9F .byte 0x9f 25540 2c3f 6E020000 .4byte .LVL368 25541 2c43 E4020000 .4byte .LVL372 25542 2c47 0700 .2byte 0x7 25543 2c49 72 .byte 0x72 ARM GAS /tmp/ccJhhmLc.s page 925 25544 2c4a 00 .sleb128 0 25545 2c4b 48 .byte 0x48 25546 2c4c 24 .byte 0x24 25547 2c4d 30 .byte 0x30 25548 2c4e 2E .byte 0x2e 25549 2c4f 9F .byte 0x9f 25550 2c50 3C030000 .4byte .LVL380 25551 2c54 58030000 .4byte .LVL384 25552 2c58 0200 .2byte 0x2 25553 2c5a 30 .byte 0x30 25554 2c5b 9F .byte 0x9f 25555 2c5c 58030000 .4byte .LVL384 25556 2c60 CC030000 .4byte .LFE80 25557 2c64 0700 .2byte 0x7 25558 2c66 72 .byte 0x72 25559 2c67 00 .sleb128 0 25560 2c68 48 .byte 0x48 25561 2c69 24 .byte 0x24 25562 2c6a 30 .byte 0x30 25563 2c6b 2E .byte 0x2e 25564 2c6c 9F .byte 0x9f 25565 2c6d 00000000 .4byte 0 25566 2c71 00000000 .4byte 0 25567 .LVUS220: 25568 2c75 00 .uleb128 .LVU1877 25569 2c76 00 .uleb128 .LVU1879 25570 2c77 00 .uleb128 .LVU1879 25571 2c78 00 .uleb128 .LVU1886 25572 2c79 00 .uleb128 .LVU1911 25573 2c7a 00 .uleb128 .LVU1914 25574 2c7b 00 .uleb128 .LVU1914 25575 2c7c 00 .uleb128 .LVU1921 25576 2c7d 00 .uleb128 .LVU1963 25577 2c7e 00 .uleb128 .LVU1964 25578 2c7f 00 .uleb128 .LVU1969 25579 2c80 00 .uleb128 .LVU1977 25580 2c81 00 .uleb128 .LVU1977 25581 2c82 00 .uleb128 .LVU1978 25582 2c83 00 .uleb128 .LVU1978 25583 2c84 00 .uleb128 .LVU1980 25584 .LLST220: 25585 2c85 E4010000 .4byte .LVL361 25586 2c89 EC010000 .4byte .LVL362 25587 2c8d 0200 .2byte 0x2 25588 2c8f 30 .byte 0x30 25589 2c90 9F .byte 0x9f 25590 2c91 EC010000 .4byte .LVL362 25591 2c95 06020000 .4byte .LVL364 25592 2c99 0100 .2byte 0x1 25593 2c9b 52 .byte 0x52 25594 2c9c 74020000 .4byte .LVL369 25595 2ca0 80020000 .4byte .LVL370 25596 2ca4 0200 .2byte 0x2 25597 2ca6 30 .byte 0x30 25598 2ca7 9F .byte 0x9f 25599 2ca8 80020000 .4byte .LVL370 25600 2cac 96020000 .4byte .LVL371 ARM GAS /tmp/ccJhhmLc.s page 926 25601 2cb0 0100 .2byte 0x1 25602 2cb2 53 .byte 0x53 25603 2cb3 3C030000 .4byte .LVL380 25604 2cb7 3E030000 .4byte .LVL381 25605 2cbb 0100 .2byte 0x1 25606 2cbd 52 .byte 0x52 25607 2cbe 58030000 .4byte .LVL384 25608 2cc2 78030000 .4byte .LVL385 25609 2cc6 0100 .2byte 0x1 25610 2cc8 53 .byte 0x53 25611 2cc9 78030000 .4byte .LVL385 25612 2ccd 7E030000 .4byte .LVL386 25613 2cd1 0300 .2byte 0x3 25614 2cd3 73 .byte 0x73 25615 2cd4 7F .sleb128 -1 25616 2cd5 9F .byte 0x9f 25617 2cd6 7E030000 .4byte .LVL386 25618 2cda 8A030000 .4byte .LVL387 25619 2cde 0100 .2byte 0x1 25620 2ce0 53 .byte 0x53 25621 2ce1 00000000 .4byte 0 25622 2ce5 00000000 .4byte 0 25623 .LVUS221: 25624 2ce9 00 .uleb128 .LVU1968 25625 2cea 00 .uleb128 .LVU1969 25626 .LLST221: 25627 2ceb 52030000 .4byte .LVL383 25628 2cef 58030000 .4byte .LVL384 25629 2cf3 0400 .2byte 0x4 25630 2cf5 44 .byte 0x44 25631 2cf6 4A .byte 0x4a 25632 2cf7 24 .byte 0x24 25633 2cf8 9F .byte 0x9f 25634 2cf9 00000000 .4byte 0 25635 2cfd 00000000 .4byte 0 25636 .LVUS222: 25637 2d01 00 .uleb128 .LVU1968 25638 2d02 00 .uleb128 .LVU1969 25639 .LLST222: 25640 2d03 52030000 .4byte .LVL383 25641 2d07 58030000 .4byte .LVL384 25642 2d0b 0200 .2byte 0x2 25643 2d0d 33 .byte 0x33 25644 2d0e 9F .byte 0x9f 25645 2d0f 00000000 .4byte 0 25646 2d13 00000000 .4byte 0 25647 .LVUS224: 25648 2d17 00 .uleb128 .LVU1967 25649 2d18 00 .uleb128 .LVU1968 25650 .LLST224: 25651 2d19 4C030000 .4byte .LVL382 25652 2d1d 52030000 .4byte .LVL383 25653 2d21 0400 .2byte 0x4 25654 2d23 44 .byte 0x44 25655 2d24 4A .byte 0x4a 25656 2d25 24 .byte 0x24 25657 2d26 9F .byte 0x9f ARM GAS /tmp/ccJhhmLc.s page 927 25658 2d27 00000000 .4byte 0 25659 2d2b 00000000 .4byte 0 25660 .LVUS225: 25661 2d2f 00 .uleb128 .LVU1967 25662 2d30 00 .uleb128 .LVU1968 25663 .LLST225: 25664 2d31 4C030000 .4byte .LVL382 25665 2d35 52030000 .4byte .LVL383 25666 2d39 0200 .2byte 0x2 25667 2d3b 31 .byte 0x31 25668 2d3c 9F .byte 0x9f 25669 2d3d 00000000 .4byte 0 25670 2d41 00000000 .4byte 0 25671 .LVUS228: 25672 2d45 00 .uleb128 .LVU1834 25673 2d46 00 .uleb128 .LVU1836 25674 .LLST228: 25675 2d47 30010000 .4byte .LVL339 25676 2d4b 38010000 .4byte .LVL340 25677 2d4f 0300 .2byte 0x3 25678 2d51 08 .byte 0x8 25679 2d52 80 .byte 0x80 25680 2d53 9F .byte 0x9f 25681 2d54 00000000 .4byte 0 25682 2d58 00000000 .4byte 0 25683 .LVUS230: 25684 2d5c 00 .uleb128 .LVU1836 25685 2d5d 00 .uleb128 .LVU1840 25686 .LLST230: 25687 2d5e 38010000 .4byte .LVL340 25688 2d62 40010000 .4byte .LVL343 25689 2d66 0200 .2byte 0x2 25690 2d68 30 .byte 0x30 25691 2d69 9F .byte 0x9f 25692 2d6a 00000000 .4byte 0 25693 2d6e 00000000 .4byte 0 25694 .LVUS231: 25695 2d72 00 .uleb128 .LVU1836 25696 2d73 00 .uleb128 .LVU1840 25697 .LLST231: 25698 2d74 38010000 .4byte .LVL340 25699 2d78 40010000 .4byte .LVL343 25700 2d7c 0300 .2byte 0x3 25701 2d7e 08 .byte 0x8 25702 2d7f 40 .byte 0x40 25703 2d80 9F .byte 0x9f 25704 2d81 00000000 .4byte 0 25705 2d85 00000000 .4byte 0 25706 .LVUS232: 25707 2d89 00 .uleb128 .LVU1838 25708 2d8a 00 .uleb128 .LVU1839 25709 .LLST232: 25710 2d8b 3A010000 .4byte .LVL341 25711 2d8f 3E010000 .4byte .LVL342 25712 2d93 0100 .2byte 0x1 25713 2d95 52 .byte 0x52 25714 2d96 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 928 25715 2d9a 00000000 .4byte 0 25716 .LVUS234: 25717 2d9e 00 .uleb128 .LVU1840 25718 2d9f 00 .uleb128 .LVU1846 25719 .LLST234: 25720 2da0 40010000 .4byte .LVL343 25721 2da4 50010000 .4byte .LVL348 25722 2da8 0200 .2byte 0x2 25723 2daa 31 .byte 0x31 25724 2dab 9F .byte 0x9f 25725 2dac 00000000 .4byte 0 25726 2db0 00000000 .4byte 0 25727 .LVUS235: 25728 2db4 00 .uleb128 .LVU1840 25729 2db5 00 .uleb128 .LVU1846 25730 .LLST235: 25731 2db6 40010000 .4byte .LVL343 25732 2dba 50010000 .4byte .LVL348 25733 2dbe 0300 .2byte 0x3 25734 2dc0 08 .byte 0x8 25735 2dc1 80 .byte 0x80 25736 2dc2 9F .byte 0x9f 25737 2dc3 00000000 .4byte 0 25738 2dc7 00000000 .4byte 0 25739 .LVUS236: 25740 2dcb 00 .uleb128 .LVU1843 25741 2dcc 00 .uleb128 .LVU1846 25742 .LLST236: 25743 2dcd 44010000 .4byte .LVL345 25744 2dd1 50010000 .4byte .LVL348 25745 2dd5 0200 .2byte 0x2 25746 2dd7 30 .byte 0x30 25747 2dd8 9F .byte 0x9f 25748 2dd9 00000000 .4byte 0 25749 2ddd 00000000 .4byte 0 25750 .LVUS237: 25751 2de1 00 .uleb128 .LVU1842 25752 2de2 00 .uleb128 .LVU1843 25753 2de3 00 .uleb128 .LVU1843 25754 2de4 00 .uleb128 .LVU1844 25755 2de5 00 .uleb128 .LVU1844 25756 2de6 00 .uleb128 .LVU1845 25757 .LLST237: 25758 2de7 42010000 .4byte .LVL344 25759 2deb 44010000 .4byte .LVL345 25760 2def 0100 .2byte 0x1 25761 2df1 52 .byte 0x52 25762 2df2 44010000 .4byte .LVL345 25763 2df6 48010000 .4byte .LVL346 25764 2dfa 0800 .2byte 0x8 25765 2dfc 71 .byte 0x71 25766 2dfd 00 .sleb128 0 25767 2dfe 40 .byte 0x40 25768 2dff 25 .byte 0x25 25769 2e00 72 .byte 0x72 25770 2e01 00 .sleb128 0 25771 2e02 22 .byte 0x22 ARM GAS /tmp/ccJhhmLc.s page 929 25772 2e03 9F .byte 0x9f 25773 2e04 48010000 .4byte .LVL346 25774 2e08 4C010000 .4byte .LVL347 25775 2e0c 0100 .2byte 0x1 25776 2e0e 52 .byte 0x52 25777 2e0f 00000000 .4byte 0 25778 2e13 00000000 .4byte 0 25779 .LLST238: 25780 2e17 00000000 .4byte .LFB110 25781 2e1b 08000000 .4byte .LCFI45 25782 2e1f 0200 .2byte 0x2 25783 2e21 7D .byte 0x7d 25784 2e22 00 .sleb128 0 25785 2e23 08000000 .4byte .LCFI45 25786 2e27 BC000000 .4byte .LFE110 25787 2e2b 0200 .2byte 0x2 25788 2e2d 7D .byte 0x7d 25789 2e2e 0C .sleb128 12 25790 2e2f 00000000 .4byte 0 25791 2e33 00000000 .4byte 0 25792 .LVUS239: 25793 2e37 01 .uleb128 .LVU1991 25794 2e38 00 .uleb128 .LVU1997 25795 2e39 00 .uleb128 .LVU1997 25796 2e3a 00 .uleb128 .LVU2019 25797 2e3b 00 .uleb128 .LVU2040 25798 2e3c 00 .uleb128 0 25799 .LLST239: 25800 2e3d 00000000 .4byte .LVL388 25801 2e41 0C000000 .4byte .LVL389 25802 2e45 0200 .2byte 0x2 25803 2e47 30 .byte 0x30 25804 2e48 9F .byte 0x9f 25805 2e49 0C000000 .4byte .LVL389 25806 2e4d 54000000 .4byte .LVL390 25807 2e51 0100 .2byte 0x1 25808 2e53 54 .byte 0x54 25809 2e54 A2000000 .4byte .LVL391 25810 2e58 BC000000 .4byte .LFE110 25811 2e5c 0100 .2byte 0x1 25812 2e5e 54 .byte 0x54 25813 2e5f 00000000 .4byte 0 25814 2e63 00000000 .4byte 0 25815 .LVUS240: 25816 2e67 01 .uleb128 .LVU2045 25817 2e68 00 .uleb128 .LVU2047 25818 2e69 00 .uleb128 .LVU2047 25819 2e6a 00 .uleb128 0 25820 .LLST240: 25821 2e6b 00000000 .4byte .LVL392 25822 2e6f 04000000 .4byte .LVL393 25823 2e73 0200 .2byte 0x2 25824 2e75 30 .byte 0x30 25825 2e76 9F .byte 0x9f 25826 2e77 04000000 .4byte .LVL393 25827 2e7b 1A000000 .4byte .LFE114 25828 2e7f 0C00 .2byte 0xc ARM GAS /tmp/ccJhhmLc.s page 930 25829 2e81 71 .byte 0x71 25830 2e82 04 .sleb128 4 25831 2e83 06 .byte 0x6 25832 2e84 71 .byte 0x71 25833 2e85 08 .sleb128 8 25834 2e86 06 .byte 0x6 25835 2e87 21 .byte 0x21 25836 2e88 0A .byte 0xa 25837 2e89 0004 .2byte 0x400 25838 2e8b 21 .byte 0x21 25839 2e8c 9F .byte 0x9f 25840 2e8d 00000000 .4byte 0 25841 2e91 00000000 .4byte 0 25842 .LLST241: 25843 2e95 00000000 .4byte .LFB115 25844 2e99 04000000 .4byte .LCFI46 25845 2e9d 0200 .2byte 0x2 25846 2e9f 7D .byte 0x7d 25847 2ea0 00 .sleb128 0 25848 2ea1 04000000 .4byte .LCFI46 25849 2ea5 0C000000 .4byte .LCFI47 25850 2ea9 0200 .2byte 0x2 25851 2eab 7D .byte 0x7d 25852 2eac 24 .sleb128 36 25853 2ead 0C000000 .4byte .LCFI47 25854 2eb1 26000000 .4byte .LCFI48 25855 2eb5 0300 .2byte 0x3 25856 2eb7 7D .byte 0x7d 25857 2eb8 C000 .sleb128 64 25858 2eba 26000000 .4byte .LCFI48 25859 2ebe 2A000000 .4byte .LCFI49 25860 2ec2 0200 .2byte 0x2 25861 2ec4 7D .byte 0x7d 25862 2ec5 24 .sleb128 36 25863 2ec6 2A000000 .4byte .LCFI49 25864 2eca 5C010000 .4byte .LFE115 25865 2ece 0300 .2byte 0x3 25866 2ed0 7D .byte 0x7d 25867 2ed1 C000 .sleb128 64 25868 2ed3 00000000 .4byte 0 25869 2ed7 00000000 .4byte 0 25870 .LVUS242: 25871 2edb 00 .uleb128 0 25872 2edc 00 .uleb128 .LVU2062 25873 2edd 00 .uleb128 .LVU2062 25874 2ede 00 .uleb128 .LVU2063 25875 2edf 00 .uleb128 .LVU2063 25876 2ee0 00 .uleb128 .LVU2066 25877 2ee1 00 .uleb128 .LVU2066 25878 2ee2 00 .uleb128 .LVU2071 25879 2ee3 00 .uleb128 .LVU2071 25880 2ee4 00 .uleb128 .LVU2089 25881 2ee5 00 .uleb128 .LVU2089 25882 2ee6 00 .uleb128 0 25883 .LLST242: 25884 2ee7 00000000 .4byte .LVL394 25885 2eeb 1C000000 .4byte .LVL397 ARM GAS /tmp/ccJhhmLc.s page 931 25886 2eef 0100 .2byte 0x1 25887 2ef1 50 .byte 0x50 25888 2ef2 1C000000 .4byte .LVL397 25889 2ef6 1E000000 .4byte .LVL398 25890 2efa 0100 .2byte 0x1 25891 2efc 52 .byte 0x52 25892 2efd 1E000000 .4byte .LVL398 25893 2f01 2A000000 .4byte .LVL399 25894 2f05 0A00 .2byte 0xa 25895 2f07 F3 .byte 0xf3 25896 2f08 03 .uleb128 0x3 25897 2f09 F5 .byte 0xf5 25898 2f0a 00 .uleb128 0 25899 2f0b 29 .uleb128 0x29 25900 2f0c F7 .byte 0xf7 25901 2f0d 30 .uleb128 0x30 25902 2f0e F7 .byte 0xf7 25903 2f0f 00 .uleb128 0 25904 2f10 9F .byte 0x9f 25905 2f11 2A000000 .4byte .LVL399 25906 2f15 38000000 .4byte .LVL401 25907 2f19 0100 .2byte 0x1 25908 2f1b 50 .byte 0x50 25909 2f1c 38000000 .4byte .LVL401 25910 2f20 87000000 .4byte .LVL402-1 25911 2f24 0100 .2byte 0x1 25912 2f26 52 .byte 0x52 25913 2f27 87000000 .4byte .LVL402-1 25914 2f2b 5C010000 .4byte .LFE115 25915 2f2f 0A00 .2byte 0xa 25916 2f31 F3 .byte 0xf3 25917 2f32 03 .uleb128 0x3 25918 2f33 F5 .byte 0xf5 25919 2f34 00 .uleb128 0 25920 2f35 29 .uleb128 0x29 25921 2f36 F7 .byte 0xf7 25922 2f37 30 .uleb128 0x30 25923 2f38 F7 .byte 0xf7 25924 2f39 00 .uleb128 0 25925 2f3a 9F .byte 0x9f 25926 2f3b 00000000 .4byte 0 25927 2f3f 00000000 .4byte 0 25928 .LVUS243: 25929 2f43 00 .uleb128 0 25930 2f44 00 .uleb128 .LVU2062 25931 2f45 00 .uleb128 .LVU2062 25932 2f46 00 .uleb128 .LVU2063 25933 2f47 00 .uleb128 .LVU2063 25934 2f48 00 .uleb128 .LVU2066 25935 2f49 00 .uleb128 .LVU2066 25936 2f4a 00 .uleb128 .LVU2067 25937 2f4b 00 .uleb128 .LVU2067 25938 2f4c 00 .uleb128 .LVU2102 25939 2f4d 00 .uleb128 .LVU2102 25940 2f4e 00 .uleb128 0 25941 .LLST243: 25942 2f4f 00000000 .4byte .LVL394 ARM GAS /tmp/ccJhhmLc.s page 932 25943 2f53 1C000000 .4byte .LVL397 25944 2f57 0100 .2byte 0x1 25945 2f59 51 .byte 0x51 25946 2f5a 1C000000 .4byte .LVL397 25947 2f5e 1E000000 .4byte .LVL398 25948 2f62 0100 .2byte 0x1 25949 2f64 56 .byte 0x56 25950 2f65 1E000000 .4byte .LVL398 25951 2f69 2A000000 .4byte .LVL399 25952 2f6d 0A00 .2byte 0xa 25953 2f6f F3 .byte 0xf3 25954 2f70 03 .uleb128 0x3 25955 2f71 F5 .byte 0xf5 25956 2f72 01 .uleb128 0x1 25957 2f73 29 .uleb128 0x29 25958 2f74 F7 .byte 0xf7 25959 2f75 30 .uleb128 0x30 25960 2f76 F7 .byte 0xf7 25961 2f77 00 .uleb128 0 25962 2f78 9F .byte 0x9f 25963 2f79 2A000000 .4byte .LVL399 25964 2f7d 2E000000 .4byte .LVL400 25965 2f81 0100 .2byte 0x1 25966 2f83 51 .byte 0x51 25967 2f84 2E000000 .4byte .LVL400 25968 2f88 C4000000 .4byte .LVL405 25969 2f8c 0100 .2byte 0x1 25970 2f8e 56 .byte 0x56 25971 2f8f C4000000 .4byte .LVL405 25972 2f93 5C010000 .4byte .LFE115 25973 2f97 0A00 .2byte 0xa 25974 2f99 F3 .byte 0xf3 25975 2f9a 03 .uleb128 0x3 25976 2f9b F5 .byte 0xf5 25977 2f9c 01 .uleb128 0x1 25978 2f9d 29 .uleb128 0x29 25979 2f9e F7 .byte 0xf7 25980 2f9f 30 .uleb128 0x30 25981 2fa0 F7 .byte 0xf7 25982 2fa1 00 .uleb128 0 25983 2fa2 9F .byte 0x9f 25984 2fa3 00000000 .4byte 0 25985 2fa7 00000000 .4byte 0 25986 .LVUS244: 25987 2fab 00 .uleb128 0 25988 2fac 00 .uleb128 .LVU2059 25989 2fad 00 .uleb128 .LVU2059 25990 2fae 00 .uleb128 0 25991 .LLST244: 25992 2faf 00000000 .4byte .LVL394 25993 2fb3 14000000 .4byte .LVL396 25994 2fb7 0100 .2byte 0x1 25995 2fb9 52 .byte 0x52 25996 2fba 14000000 .4byte .LVL396 25997 2fbe 5C010000 .4byte .LFE115 25998 2fc2 0100 .2byte 0x1 25999 2fc4 59 .byte 0x59 ARM GAS /tmp/ccJhhmLc.s page 933 26000 2fc5 00000000 .4byte 0 26001 2fc9 00000000 .4byte 0 26002 .LVUS245: 26003 2fcd 00 .uleb128 .LVU2154 26004 2fce 00 .uleb128 0 26005 .LLST245: 26006 2fcf 1A010000 .4byte .LVL415 26007 2fd3 5C010000 .4byte .LFE115 26008 2fd7 0100 .2byte 0x1 26009 2fd9 51 .byte 0x51 26010 2fda 00000000 .4byte 0 26011 2fde 00000000 .4byte 0 26012 .LVUS247: 26013 2fe2 01 .uleb128 .LVU2057 26014 2fe3 00 .uleb128 .LVU2062 26015 2fe4 00 .uleb128 .LVU2062 26016 2fe5 00 .uleb128 .LVU2063 26017 2fe6 00 .uleb128 .LVU2066 26018 2fe7 00 .uleb128 .LVU2071 26019 2fe8 00 .uleb128 .LVU2071 26020 2fe9 00 .uleb128 .LVU2089 26021 2fea 00 .uleb128 .LVU2089 26022 2feb 00 .uleb128 .LVU2095 26023 2fec 00 .uleb128 .LVU2096 26024 2fed 00 .uleb128 .LVU2147 26025 .LLST247: 26026 2fee 12000000 .4byte .LVL395 26027 2ff2 1C000000 .4byte .LVL397 26028 2ff6 0100 .2byte 0x1 26029 2ff8 50 .byte 0x50 26030 2ff9 1C000000 .4byte .LVL397 26031 2ffd 1E000000 .4byte .LVL398 26032 3001 0100 .2byte 0x1 26033 3003 52 .byte 0x52 26034 3004 2A000000 .4byte .LVL399 26035 3008 38000000 .4byte .LVL401 26036 300c 0100 .2byte 0x1 26037 300e 50 .byte 0x50 26038 300f 38000000 .4byte .LVL401 26039 3013 87000000 .4byte .LVL402-1 26040 3017 0100 .2byte 0x1 26041 3019 52 .byte 0x52 26042 301a 87000000 .4byte .LVL402-1 26043 301e A4000000 .4byte .LVL403 26044 3022 0A00 .2byte 0xa 26045 3024 F3 .byte 0xf3 26046 3025 03 .uleb128 0x3 26047 3026 F5 .byte 0xf5 26048 3027 00 .uleb128 0 26049 3028 29 .uleb128 0x29 26050 3029 F7 .byte 0xf7 26051 302a 30 .uleb128 0x30 26052 302b F7 .byte 0xf7 26053 302c 00 .uleb128 0 26054 302d 9F .byte 0x9f 26055 302e A6000000 .4byte .LVL404 26056 3032 16010000 .4byte .LVL414 ARM GAS /tmp/ccJhhmLc.s page 934 26057 3036 0A00 .2byte 0xa 26058 3038 F3 .byte 0xf3 26059 3039 03 .uleb128 0x3 26060 303a F5 .byte 0xf5 26061 303b 00 .uleb128 0 26062 303c 29 .uleb128 0x29 26063 303d F7 .byte 0xf7 26064 303e 30 .uleb128 0x30 26065 303f F7 .byte 0xf7 26066 3040 00 .uleb128 0 26067 3041 9F .byte 0x9f 26068 3042 00000000 .4byte 0 26069 3046 00000000 .4byte 0 26070 .LVUS248: 26071 304a 01 .uleb128 .LVU2057 26072 304b 00 .uleb128 .LVU2062 26073 304c 00 .uleb128 .LVU2062 26074 304d 00 .uleb128 .LVU2063 26075 304e 00 .uleb128 .LVU2066 26076 304f 00 .uleb128 .LVU2067 26077 3050 00 .uleb128 .LVU2067 26078 3051 00 .uleb128 .LVU2095 26079 3052 00 .uleb128 .LVU2096 26080 3053 00 .uleb128 .LVU2102 26081 3054 00 .uleb128 .LVU2102 26082 3055 00 .uleb128 .LVU2147 26083 .LLST248: 26084 3056 12000000 .4byte .LVL395 26085 305a 1C000000 .4byte .LVL397 26086 305e 0100 .2byte 0x1 26087 3060 51 .byte 0x51 26088 3061 1C000000 .4byte .LVL397 26089 3065 1E000000 .4byte .LVL398 26090 3069 0100 .2byte 0x1 26091 306b 56 .byte 0x56 26092 306c 2A000000 .4byte .LVL399 26093 3070 2E000000 .4byte .LVL400 26094 3074 0100 .2byte 0x1 26095 3076 51 .byte 0x51 26096 3077 2E000000 .4byte .LVL400 26097 307b A4000000 .4byte .LVL403 26098 307f 0100 .2byte 0x1 26099 3081 56 .byte 0x56 26100 3082 A6000000 .4byte .LVL404 26101 3086 C4000000 .4byte .LVL405 26102 308a 0100 .2byte 0x1 26103 308c 56 .byte 0x56 26104 308d C4000000 .4byte .LVL405 26105 3091 16010000 .4byte .LVL414 26106 3095 0A00 .2byte 0xa 26107 3097 F3 .byte 0xf3 26108 3098 03 .uleb128 0x3 26109 3099 F5 .byte 0xf5 26110 309a 01 .uleb128 0x1 26111 309b 29 .uleb128 0x29 26112 309c F7 .byte 0xf7 26113 309d 30 .uleb128 0x30 ARM GAS /tmp/ccJhhmLc.s page 935 26114 309e F7 .byte 0xf7 26115 309f 00 .uleb128 0 26116 30a0 9F .byte 0x9f 26117 30a1 00000000 .4byte 0 26118 30a5 00000000 .4byte 0 26119 .LVUS249: 26120 30a9 01 .uleb128 .LVU2057 26121 30aa 00 .uleb128 .LVU2059 26122 30ab 00 .uleb128 .LVU2059 26123 30ac 00 .uleb128 .LVU2063 26124 30ad 00 .uleb128 .LVU2066 26125 30ae 00 .uleb128 .LVU2095 26126 30af 00 .uleb128 .LVU2096 26127 30b0 00 .uleb128 .LVU2147 26128 .LLST249: 26129 30b1 12000000 .4byte .LVL395 26130 30b5 14000000 .4byte .LVL396 26131 30b9 0100 .2byte 0x1 26132 30bb 52 .byte 0x52 26133 30bc 14000000 .4byte .LVL396 26134 30c0 1E000000 .4byte .LVL398 26135 30c4 0100 .2byte 0x1 26136 30c6 59 .byte 0x59 26137 30c7 2A000000 .4byte .LVL399 26138 30cb A4000000 .4byte .LVL403 26139 30cf 0100 .2byte 0x1 26140 30d1 59 .byte 0x59 26141 30d2 A6000000 .4byte .LVL404 26142 30d6 16010000 .4byte .LVL414 26143 30da 0100 .2byte 0x1 26144 30dc 59 .byte 0x59 26145 30dd 00000000 .4byte 0 26146 30e1 00000000 .4byte 0 26147 .LVUS250: 26148 30e5 01 .uleb128 .LVU2138 26149 30e6 00 .uleb128 .LVU2143 26150 .LLST250: 26151 30e7 FE000000 .4byte .LVL412 26152 30eb 08010000 .4byte .LVL413 26153 30ef 0100 .2byte 0x1 26154 30f1 50 .byte 0x50 26155 30f2 00000000 .4byte 0 26156 30f6 00000000 .4byte 0 26157 .LVUS251: 26158 30fa 02 .uleb128 .LVU2058 26159 30fb 00 .uleb128 .LVU2062 26160 30fc 00 .uleb128 .LVU2062 26161 30fd 00 .uleb128 .LVU2063 26162 30fe 00 .uleb128 .LVU2066 26163 30ff 00 .uleb128 .LVU2067 26164 3100 00 .uleb128 .LVU2067 26165 3101 00 .uleb128 .LVU2095 26166 3102 00 .uleb128 .LVU2096 26167 3103 00 .uleb128 .LVU2118 26168 3104 00 .uleb128 .LVU2118 26169 3105 00 .uleb128 .LVU2135 26170 .LLST251: ARM GAS /tmp/ccJhhmLc.s page 936 26171 3106 12000000 .4byte .LVL395 26172 310a 1C000000 .4byte .LVL397 26173 310e 0100 .2byte 0x1 26174 3110 51 .byte 0x51 26175 3111 1C000000 .4byte .LVL397 26176 3115 1E000000 .4byte .LVL398 26177 3119 0100 .2byte 0x1 26178 311b 56 .byte 0x56 26179 311c 2A000000 .4byte .LVL399 26180 3120 2E000000 .4byte .LVL400 26181 3124 0100 .2byte 0x1 26182 3126 51 .byte 0x51 26183 3127 2E000000 .4byte .LVL400 26184 312b A4000000 .4byte .LVL403 26185 312f 0100 .2byte 0x1 26186 3131 56 .byte 0x56 26187 3132 A6000000 .4byte .LVL404 26188 3136 DE000000 .4byte .LVL409 26189 313a 0100 .2byte 0x1 26190 313c 56 .byte 0x56 26191 313d DE000000 .4byte .LVL409 26192 3141 F3000000 .4byte .LVL411-1 26193 3145 2000 .2byte 0x20 26194 3147 F3 .byte 0xf3 26195 3148 03 .uleb128 0x3 26196 3149 F5 .byte 0xf5 26197 314a 01 .uleb128 0x1 26198 314b 29 .uleb128 0x29 26199 314c F7 .byte 0xf7 26200 314d 30 .uleb128 0x30 26201 314e F7 .byte 0xf7 26202 314f 00 .uleb128 0 26203 3150 39 .byte 0x39 26204 3151 24 .byte 0x24 26205 3152 F3 .byte 0xf3 26206 3153 03 .uleb128 0x3 26207 3154 F5 .byte 0xf5 26208 3155 01 .uleb128 0x1 26209 3156 29 .uleb128 0x29 26210 3157 F7 .byte 0xf7 26211 3158 30 .uleb128 0x30 26212 3159 F7 .byte 0xf7 26213 315a 00 .uleb128 0 26214 315b 74 .byte 0x74 26215 315c C400 .sleb128 68 26216 315e 06 .byte 0x6 26217 315f 31 .byte 0x31 26218 3160 2E .byte 0x2e 26219 3161 28 .byte 0x28 26220 3162 0100 .2byte 0x1 26221 3164 16 .byte 0x16 26222 3165 13 .byte 0x13 26223 3166 9F .byte 0x9f 26224 3167 00000000 .4byte 0 26225 316b 00000000 .4byte 0 26226 .LVUS252: 26227 316f 00 .uleb128 .LVU2102 ARM GAS /tmp/ccJhhmLc.s page 937 26228 3170 00 .uleb128 .LVU2106 26229 .LLST252: 26230 3171 C4000000 .4byte .LVL405 26231 3175 CE000000 .4byte .LVL406 26232 3179 0100 .2byte 0x1 26233 317b 55 .byte 0x55 26234 317c 00000000 .4byte 0 26235 3180 00000000 .4byte 0 26236 .LVUS253: 26237 3184 00 .uleb128 .LVU2102 26238 3185 00 .uleb128 .LVU2106 26239 .LLST253: 26240 3186 C4000000 .4byte .LVL405 26241 318a CE000000 .4byte .LVL406 26242 318e 0600 .2byte 0x6 26243 3190 F2 .byte 0xf2 26244 3191 58200000 .4byte .Ldebug_info0+8280 26245 3195 00 .sleb128 0 26246 3196 00000000 .4byte 0 26247 319a 00000000 .4byte 0 26248 .LVUS254: 26249 319e 00 .uleb128 .LVU2110 26250 319f 00 .uleb128 0 26251 .LLST254: 26252 31a0 D6000000 .4byte .LVL407 26253 31a4 5C010000 .4byte .LFE115 26254 31a8 0100 .2byte 0x1 26255 31aa 55 .byte 0x55 26256 31ab 00000000 .4byte 0 26257 31af 00000000 .4byte 0 26258 .LVUS255: 26259 31b3 00 .uleb128 .LVU2110 26260 31b4 00 .uleb128 .LVU2118 26261 31b5 00 .uleb128 .LVU2118 26262 31b6 00 .uleb128 .LVU2135 26263 .LLST255: 26264 31b7 D6000000 .4byte .LVL407 26265 31bb DE000000 .4byte .LVL409 26266 31bf 0100 .2byte 0x1 26267 31c1 56 .byte 0x56 26268 31c2 DE000000 .4byte .LVL409 26269 31c6 F3000000 .4byte .LVL411-1 26270 31ca 2000 .2byte 0x20 26271 31cc F3 .byte 0xf3 26272 31cd 03 .uleb128 0x3 26273 31ce F5 .byte 0xf5 26274 31cf 01 .uleb128 0x1 26275 31d0 29 .uleb128 0x29 26276 31d1 F7 .byte 0xf7 26277 31d2 30 .uleb128 0x30 26278 31d3 F7 .byte 0xf7 26279 31d4 00 .uleb128 0 26280 31d5 39 .byte 0x39 26281 31d6 24 .byte 0x24 26282 31d7 F3 .byte 0xf3 26283 31d8 03 .uleb128 0x3 26284 31d9 F5 .byte 0xf5 ARM GAS /tmp/ccJhhmLc.s page 938 26285 31da 01 .uleb128 0x1 26286 31db 29 .uleb128 0x29 26287 31dc F7 .byte 0xf7 26288 31dd 30 .uleb128 0x30 26289 31de F7 .byte 0xf7 26290 31df 00 .uleb128 0 26291 31e0 74 .byte 0x74 26292 31e1 C400 .sleb128 68 26293 31e3 06 .byte 0x6 26294 31e4 31 .byte 0x31 26295 31e5 2E .byte 0x2e 26296 31e6 28 .byte 0x28 26297 31e7 0100 .2byte 0x1 26298 31e9 16 .byte 0x16 26299 31ea 13 .byte 0x13 26300 31eb 9F .byte 0x9f 26301 31ec 00000000 .4byte 0 26302 31f0 00000000 .4byte 0 26303 .LVUS256: 26304 31f4 00 .uleb128 .LVU2117 26305 31f5 01 .uleb128 .LVU2138 26306 .LLST256: 26307 31f6 DC000000 .4byte .LVL408 26308 31fa FE000000 .4byte .LVL412 26309 31fe 0100 .2byte 0x1 26310 3200 55 .byte 0x55 26311 3201 00000000 .4byte 0 26312 3205 00000000 .4byte 0 26313 .LVUS257: 26314 3209 00 .uleb128 .LVU2118 26315 320a 00 .uleb128 .LVU2127 26316 .LLST257: 26317 320b DE000000 .4byte .LVL409 26318 320f E8000000 .4byte .LVL410 26319 3213 0100 .2byte 0x1 26320 3215 56 .byte 0x56 26321 3216 00000000 .4byte 0 26322 321a 00000000 .4byte 0 26323 .LVUS258: 26324 321e 00 .uleb128 .LVU2137 26325 321f 01 .uleb128 .LVU2138 26326 .LLST258: 26327 3220 FE000000 .4byte .LVL412 26328 3224 FE000000 .4byte .LVL412 26329 3228 0100 .2byte 0x1 26330 322a 50 .byte 0x50 26331 322b 00000000 .4byte 0 26332 322f 00000000 .4byte 0 26333 .LLST259: 26334 3233 00000000 .4byte .LFB123 26335 3237 02000000 .4byte .LCFI50 26336 323b 0200 .2byte 0x2 26337 323d 7D .byte 0x7d 26338 323e 00 .sleb128 0 26339 323f 02000000 .4byte .LCFI50 26340 3243 84000000 .4byte .LFE123 26341 3247 0200 .2byte 0x2 ARM GAS /tmp/ccJhhmLc.s page 939 26342 3249 7D .byte 0x7d 26343 324a 10 .sleb128 16 26344 324b 00000000 .4byte 0 26345 324f 00000000 .4byte 0 26346 .LVUS260: 26347 3253 00 .uleb128 0 26348 3254 00 .uleb128 .LVU2181 26349 3255 00 .uleb128 .LVU2181 26350 3256 00 .uleb128 0 26351 .LLST260: 26352 3257 00000000 .4byte .LVL416 26353 325b 0B000000 .4byte .LVL418-1 26354 325f 0100 .2byte 0x1 26355 3261 50 .byte 0x50 26356 3262 0B000000 .4byte .LVL418-1 26357 3266 84000000 .4byte .LFE123 26358 326a 0A00 .2byte 0xa 26359 326c F3 .byte 0xf3 26360 326d 03 .uleb128 0x3 26361 326e F5 .byte 0xf5 26362 326f 00 .uleb128 0 26363 3270 29 .uleb128 0x29 26364 3271 F7 .byte 0xf7 26365 3272 37 .uleb128 0x37 26366 3273 F7 .byte 0xf7 26367 3274 00 .uleb128 0 26368 3275 9F .byte 0x9f 26369 3276 00000000 .4byte 0 26370 327a 00000000 .4byte 0 26371 .LVUS261: 26372 327e 00 .uleb128 0 26373 327f 00 .uleb128 .LVU2181 26374 3280 00 .uleb128 .LVU2181 26375 3281 00 .uleb128 .LVU2182 26376 3282 00 .uleb128 .LVU2184 26377 3283 00 .uleb128 .LVU2196 26378 3284 00 .uleb128 .LVU2196 26379 3285 01 .uleb128 .LVU2204 26380 3286 01 .uleb128 .LVU2204 26381 3287 01 .uleb128 .LVU2207 26382 3288 01 .uleb128 .LVU2207 26383 3289 00 .uleb128 .LVU2210 26384 328a 00 .uleb128 .LVU2210 26385 328b 00 .uleb128 .LVU2212 26386 328c 00 .uleb128 .LVU2212 26387 328d 00 .uleb128 0 26388 .LLST261: 26389 328e 00000000 .4byte .LVL416 26390 3292 0B000000 .4byte .LVL418-1 26391 3296 0100 .2byte 0x1 26392 3298 51 .byte 0x51 26393 3299 0B000000 .4byte .LVL418-1 26394 329d 10000000 .4byte .LVL419 26395 32a1 0100 .2byte 0x1 26396 32a3 55 .byte 0x55 26397 32a4 14000000 .4byte .LVL420 26398 32a8 46000000 .4byte .LVL423 ARM GAS /tmp/ccJhhmLc.s page 940 26399 32ac 0100 .2byte 0x1 26400 32ae 55 .byte 0x55 26401 32af 46000000 .4byte .LVL423 26402 32b3 62000000 .4byte .LVL426 26403 32b7 0A00 .2byte 0xa 26404 32b9 F3 .byte 0xf3 26405 32ba 03 .uleb128 0x3 26406 32bb F5 .byte 0xf5 26407 32bc 01 .uleb128 0x1 26408 32bd 29 .uleb128 0x29 26409 32be F7 .byte 0xf7 26410 32bf 30 .uleb128 0x30 26411 32c0 F7 .byte 0xf7 26412 32c1 00 .uleb128 0 26413 32c2 9F .byte 0x9f 26414 32c3 62000000 .4byte .LVL426 26415 32c7 64000000 .4byte .LVL427 26416 32cb 0D00 .2byte 0xd 26417 32cd F3 .byte 0xf3 26418 32ce 03 .uleb128 0x3 26419 32cf F5 .byte 0xf5 26420 32d0 01 .uleb128 0x1 26421 32d1 29 .uleb128 0x29 26422 32d2 F7 .byte 0xf7 26423 32d3 30 .uleb128 0x30 26424 32d4 F7 .byte 0xf7 26425 32d5 00 .uleb128 0 26426 32d6 23 .byte 0x23 26427 32d7 8004 .uleb128 0x200 26428 32d9 9F .byte 0x9f 26429 32da 64000000 .4byte .LVL427 26430 32de 6C000000 .4byte .LVL428 26431 32e2 0A00 .2byte 0xa 26432 32e4 F3 .byte 0xf3 26433 32e5 03 .uleb128 0x3 26434 32e6 F5 .byte 0xf5 26435 32e7 01 .uleb128 0x1 26436 32e8 29 .uleb128 0x29 26437 32e9 F7 .byte 0xf7 26438 32ea 30 .uleb128 0x30 26439 32eb F7 .byte 0xf7 26440 32ec 00 .uleb128 0 26441 32ed 9F .byte 0x9f 26442 32ee 6C000000 .4byte .LVL428 26443 32f2 76000000 .4byte .LVL430 26444 32f6 0100 .2byte 0x1 26445 32f8 55 .byte 0x55 26446 32f9 76000000 .4byte .LVL430 26447 32fd 84000000 .4byte .LFE123 26448 3301 0A00 .2byte 0xa 26449 3303 F3 .byte 0xf3 26450 3304 03 .uleb128 0x3 26451 3305 F5 .byte 0xf5 26452 3306 01 .uleb128 0x1 26453 3307 29 .uleb128 0x29 26454 3308 F7 .byte 0xf7 26455 3309 30 .uleb128 0x30 ARM GAS /tmp/ccJhhmLc.s page 941 26456 330a F7 .byte 0xf7 26457 330b 00 .uleb128 0 26458 330c 9F .byte 0x9f 26459 330d 00000000 .4byte 0 26460 3311 00000000 .4byte 0 26461 .LVUS262: 26462 3315 00 .uleb128 0 26463 3316 00 .uleb128 .LVU2181 26464 3317 00 .uleb128 .LVU2181 26465 3318 00 .uleb128 0 26466 .LLST262: 26467 3319 00000000 .4byte .LVL416 26468 331d 0B000000 .4byte .LVL418-1 26469 3321 0100 .2byte 0x1 26470 3323 52 .byte 0x52 26471 3324 0B000000 .4byte .LVL418-1 26472 3328 84000000 .4byte .LFE123 26473 332c 0100 .2byte 0x1 26474 332e 54 .byte 0x54 26475 332f 00000000 .4byte 0 26476 3333 00000000 .4byte 0 26477 .LVUS263: 26478 3337 00 .uleb128 0 26479 3338 00 .uleb128 .LVU2181 26480 3339 00 .uleb128 .LVU2181 26481 333a 00 .uleb128 .LVU2182 26482 333b 00 .uleb128 .LVU2184 26483 333c 00 .uleb128 .LVU2196 26484 333d 00 .uleb128 .LVU2196 26485 333e 00 .uleb128 .LVU2210 26486 333f 00 .uleb128 .LVU2210 26487 3340 00 .uleb128 .LVU2211 26488 3341 00 .uleb128 .LVU2211 26489 3342 00 .uleb128 0 26490 .LLST263: 26491 3343 00000000 .4byte .LVL416 26492 3347 0B000000 .4byte .LVL418-1 26493 334b 0100 .2byte 0x1 26494 334d 53 .byte 0x53 26495 334e 0B000000 .4byte .LVL418-1 26496 3352 10000000 .4byte .LVL419 26497 3356 0100 .2byte 0x1 26498 3358 56 .byte 0x56 26499 3359 14000000 .4byte .LVL420 26500 335d 46000000 .4byte .LVL423 26501 3361 0100 .2byte 0x1 26502 3363 56 .byte 0x56 26503 3364 46000000 .4byte .LVL423 26504 3368 6C000000 .4byte .LVL428 26505 336c 0A00 .2byte 0xa 26506 336e F3 .byte 0xf3 26507 336f 03 .uleb128 0x3 26508 3370 F5 .byte 0xf5 26509 3371 03 .uleb128 0x3 26510 3372 29 .uleb128 0x29 26511 3373 F7 .byte 0xf7 26512 3374 30 .uleb128 0x30 ARM GAS /tmp/ccJhhmLc.s page 942 26513 3375 F7 .byte 0xf7 26514 3376 00 .uleb128 0 26515 3377 9F .byte 0x9f 26516 3378 6C000000 .4byte .LVL428 26517 337c 72000000 .4byte .LVL429 26518 3380 0100 .2byte 0x1 26519 3382 56 .byte 0x56 26520 3383 72000000 .4byte .LVL429 26521 3387 84000000 .4byte .LFE123 26522 338b 0A00 .2byte 0xa 26523 338d F3 .byte 0xf3 26524 338e 03 .uleb128 0x3 26525 338f F5 .byte 0xf5 26526 3390 03 .uleb128 0x3 26527 3391 29 .uleb128 0x29 26528 3392 F7 .byte 0xf7 26529 3393 30 .uleb128 0x30 26530 3394 F7 .byte 0xf7 26531 3395 00 .uleb128 0 26532 3396 9F .byte 0x9f 26533 3397 00000000 .4byte 0 26534 339b 00000000 .4byte 0 26535 .LVUS264: 26536 339f 01 .uleb128 .LVU2178 26537 33a0 00 .uleb128 .LVU2182 26538 33a1 00 .uleb128 .LVU2184 26539 33a2 00 .uleb128 .LVU2192 26540 33a3 00 .uleb128 .LVU2192 26541 33a4 00 .uleb128 .LVU2195 26542 33a5 00 .uleb128 .LVU2196 26543 33a6 00 .uleb128 .LVU2199 26544 33a7 00 .uleb128 .LVU2199 26545 33a8 00 .uleb128 .LVU2202 26546 33a9 01 .uleb128 .LVU2207 26547 33aa 00 .uleb128 0 26548 .LLST264: 26549 33ab 06000000 .4byte .LVL417 26550 33af 10000000 .4byte .LVL419 26551 33b3 0200 .2byte 0x2 26552 33b5 30 .byte 0x30 26553 33b6 9F .byte 0x9f 26554 33b7 14000000 .4byte .LVL420 26555 33bb 36000000 .4byte .LVL421 26556 33bf 0200 .2byte 0x2 26557 33c1 30 .byte 0x30 26558 33c2 9F .byte 0x9f 26559 33c3 36000000 .4byte .LVL421 26560 33c7 3D000000 .4byte .LVL422-1 26561 33cb 0100 .2byte 0x1 26562 33cd 50 .byte 0x50 26563 33ce 46000000 .4byte .LVL423 26564 33d2 50000000 .4byte .LVL424 26565 33d6 0200 .2byte 0x2 26566 33d8 30 .byte 0x30 26567 33d9 9F .byte 0x9f 26568 33da 50000000 .4byte .LVL424 26569 33de 58000000 .4byte .LVL425 ARM GAS /tmp/ccJhhmLc.s page 943 26570 33e2 0100 .2byte 0x1 26571 33e4 50 .byte 0x50 26572 33e5 64000000 .4byte .LVL427 26573 33e9 84000000 .4byte .LFE123 26574 33ed 0200 .2byte 0x2 26575 33ef 30 .byte 0x30 26576 33f0 9F .byte 0x9f 26577 33f1 00000000 .4byte 0 26578 33f5 00000000 .4byte 0 26579 .LVUS265: 26580 33f9 01 .uleb128 .LVU2197 26581 33fa 01 .uleb128 .LVU2207 26582 .LLST265: 26583 33fb 46000000 .4byte .LVL423 26584 33ff 64000000 .4byte .LVL427 26585 3403 0200 .2byte 0x2 26586 3405 31 .byte 0x31 26587 3406 9F .byte 0x9f 26588 3407 00000000 .4byte 0 26589 340b 00000000 .4byte 0 26590 .LLST266: 26591 340f 00000000 .4byte .LFB124 26592 3413 04000000 .4byte .LCFI51 26593 3417 0200 .2byte 0x2 26594 3419 7D .byte 0x7d 26595 341a 00 .sleb128 0 26596 341b 04000000 .4byte .LCFI51 26597 341f 10000000 .4byte .LCFI52 26598 3423 0200 .2byte 0x2 26599 3425 7D .byte 0x7d 26600 3426 24 .sleb128 36 26601 3427 10000000 .4byte .LCFI52 26602 342b 24000000 .4byte .LCFI53 26603 342f 0300 .2byte 0x3 26604 3431 7D .byte 0x7d 26605 3432 C000 .sleb128 64 26606 3434 24000000 .4byte .LCFI53 26607 3438 28000000 .4byte .LCFI54 26608 343c 0200 .2byte 0x2 26609 343e 7D .byte 0x7d 26610 343f 24 .sleb128 36 26611 3440 28000000 .4byte .LCFI54 26612 3444 6C010000 .4byte .LFE124 26613 3448 0300 .2byte 0x3 26614 344a 7D .byte 0x7d 26615 344b C000 .sleb128 64 26616 344d 00000000 .4byte 0 26617 3451 00000000 .4byte 0 26618 .LVUS267: 26619 3455 00 .uleb128 0 26620 3456 00 .uleb128 .LVU2227 26621 3457 00 .uleb128 .LVU2227 26622 3458 00 .uleb128 .LVU2231 26623 3459 00 .uleb128 .LVU2231 26624 345a 00 .uleb128 .LVU2234 26625 345b 00 .uleb128 .LVU2234 26626 345c 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 944 26627 .LLST267: 26628 345d 00000000 .4byte .LVL431 26629 3461 1E000000 .4byte .LVL434 26630 3465 0100 .2byte 0x1 26631 3467 50 .byte 0x50 26632 3468 1E000000 .4byte .LVL434 26633 346c 28000000 .4byte .LVL436 26634 3470 0100 .2byte 0x1 26635 3472 5A .byte 0x5a 26636 3473 28000000 .4byte .LVL436 26637 3477 32000000 .4byte .LVL437 26638 347b 0100 .2byte 0x1 26639 347d 50 .byte 0x50 26640 347e 32000000 .4byte .LVL437 26641 3482 6C010000 .4byte .LFE124 26642 3486 0100 .2byte 0x1 26643 3488 5A .byte 0x5a 26644 3489 00000000 .4byte 0 26645 348d 00000000 .4byte 0 26646 .LVUS268: 26647 3491 00 .uleb128 0 26648 3492 00 .uleb128 .LVU2228 26649 3493 00 .uleb128 .LVU2228 26650 3494 00 .uleb128 .LVU2231 26651 3495 00 .uleb128 .LVU2231 26652 3496 00 .uleb128 .LVU2249 26653 3497 00 .uleb128 .LVU2249 26654 3498 00 .uleb128 0 26655 .LLST268: 26656 3499 00000000 .4byte .LVL431 26657 349d 20000000 .4byte .LVL435 26658 34a1 0100 .2byte 0x1 26659 34a3 51 .byte 0x51 26660 34a4 20000000 .4byte .LVL435 26661 34a8 28000000 .4byte .LVL436 26662 34ac 0A00 .2byte 0xa 26663 34ae F3 .byte 0xf3 26664 34af 03 .uleb128 0x3 26665 34b0 F5 .byte 0xf5 26666 34b1 01 .uleb128 0x1 26667 34b2 29 .uleb128 0x29 26668 34b3 F7 .byte 0xf7 26669 34b4 30 .uleb128 0x30 26670 34b5 F7 .byte 0xf7 26671 34b6 00 .uleb128 0 26672 34b7 9F .byte 0x9f 26673 34b8 28000000 .4byte .LVL436 26674 34bc 70000000 .4byte .LVL438 26675 34c0 0100 .2byte 0x1 26676 34c2 51 .byte 0x51 26677 34c3 70000000 .4byte .LVL438 26678 34c7 6C010000 .4byte .LFE124 26679 34cb 0A00 .2byte 0xa 26680 34cd F3 .byte 0xf3 26681 34ce 03 .uleb128 0x3 26682 34cf F5 .byte 0xf5 26683 34d0 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 945 26684 34d1 29 .uleb128 0x29 26685 34d2 F7 .byte 0xf7 26686 34d3 30 .uleb128 0x30 26687 34d4 F7 .byte 0xf7 26688 34d5 00 .uleb128 0 26689 34d6 9F .byte 0x9f 26690 34d7 00000000 .4byte 0 26691 34db 00000000 .4byte 0 26692 .LVUS269: 26693 34df 00 .uleb128 0 26694 34e0 00 .uleb128 .LVU2219 26695 34e1 00 .uleb128 .LVU2219 26696 34e2 00 .uleb128 .LVU2228 26697 34e3 00 .uleb128 .LVU2228 26698 34e4 00 .uleb128 .LVU2231 26699 34e5 00 .uleb128 .LVU2231 26700 34e6 00 .uleb128 .LVU2295 26701 34e7 00 .uleb128 .LVU2295 26702 34e8 00 .uleb128 0 26703 .LLST269: 26704 34e9 00000000 .4byte .LVL431 26705 34ed 0E000000 .4byte .LVL432 26706 34f1 0100 .2byte 0x1 26707 34f3 52 .byte 0x52 26708 34f4 0E000000 .4byte .LVL432 26709 34f8 20000000 .4byte .LVL435 26710 34fc 0100 .2byte 0x1 26711 34fe 56 .byte 0x56 26712 34ff 20000000 .4byte .LVL435 26713 3503 28000000 .4byte .LVL436 26714 3507 0A00 .2byte 0xa 26715 3509 F3 .byte 0xf3 26716 350a 03 .uleb128 0x3 26717 350b F5 .byte 0xf5 26718 350c 02 .uleb128 0x2 26719 350d 29 .uleb128 0x29 26720 350e F7 .byte 0xf7 26721 350f 30 .uleb128 0x30 26722 3510 F7 .byte 0xf7 26723 3511 00 .uleb128 0 26724 3512 9F .byte 0x9f 26725 3513 28000000 .4byte .LVL436 26726 3517 D8000000 .4byte .LVL447 26727 351b 0100 .2byte 0x1 26728 351d 56 .byte 0x56 26729 351e D8000000 .4byte .LVL447 26730 3522 6C010000 .4byte .LFE124 26731 3526 0A00 .2byte 0xa 26732 3528 F3 .byte 0xf3 26733 3529 03 .uleb128 0x3 26734 352a F5 .byte 0xf5 26735 352b 02 .uleb128 0x2 26736 352c 29 .uleb128 0x29 26737 352d F7 .byte 0xf7 26738 352e 30 .uleb128 0x30 26739 352f F7 .byte 0xf7 26740 3530 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 946 26741 3531 9F .byte 0x9f 26742 3532 00000000 .4byte 0 26743 3536 00000000 .4byte 0 26744 .LVUS270: 26745 353a 00 .uleb128 .LVU2319 26746 353b 00 .uleb128 0 26747 .LLST270: 26748 353c 22010000 .4byte .LVL454 26749 3540 6C010000 .4byte .LFE124 26750 3544 0100 .2byte 0x1 26751 3546 51 .byte 0x51 26752 3547 00000000 .4byte 0 26753 354b 00000000 .4byte 0 26754 .LVUS272: 26755 354f 01 .uleb128 .LVU2223 26756 3550 00 .uleb128 .LVU2227 26757 3551 00 .uleb128 .LVU2227 26758 3552 00 .uleb128 .LVU2228 26759 3553 00 .uleb128 .LVU2231 26760 3554 00 .uleb128 .LVU2234 26761 3555 00 .uleb128 .LVU2234 26762 3556 00 .uleb128 .LVU2288 26763 3557 00 .uleb128 .LVU2289 26764 3558 00 .uleb128 .LVU2305 26765 3559 00 .uleb128 .LVU2306 26766 355a 00 .uleb128 .LVU2312 26767 .LLST272: 26768 355b 16000000 .4byte .LVL433 26769 355f 1E000000 .4byte .LVL434 26770 3563 0100 .2byte 0x1 26771 3565 50 .byte 0x50 26772 3566 1E000000 .4byte .LVL434 26773 356a 20000000 .4byte .LVL435 26774 356e 0100 .2byte 0x1 26775 3570 5A .byte 0x5a 26776 3571 28000000 .4byte .LVL436 26777 3575 32000000 .4byte .LVL437 26778 3579 0100 .2byte 0x1 26779 357b 50 .byte 0x50 26780 357c 32000000 .4byte .LVL437 26781 3580 B6000000 .4byte .LVL445 26782 3584 0100 .2byte 0x1 26783 3586 5A .byte 0x5a 26784 3587 B8000000 .4byte .LVL446 26785 358b 08010000 .4byte .LVL450 26786 358f 0100 .2byte 0x1 26787 3591 5A .byte 0x5a 26788 3592 0A010000 .4byte .LVL451 26789 3596 20010000 .4byte .LVL453 26790 359a 0100 .2byte 0x1 26791 359c 5A .byte 0x5a 26792 359d 00000000 .4byte 0 26793 35a1 00000000 .4byte 0 26794 .LVUS273: 26795 35a5 01 .uleb128 .LVU2223 26796 35a6 00 .uleb128 .LVU2228 26797 35a7 00 .uleb128 .LVU2231 ARM GAS /tmp/ccJhhmLc.s page 947 26798 35a8 00 .uleb128 .LVU2249 26799 35a9 00 .uleb128 .LVU2249 26800 35aa 00 .uleb128 .LVU2288 26801 35ab 00 .uleb128 .LVU2289 26802 35ac 00 .uleb128 .LVU2305 26803 35ad 00 .uleb128 .LVU2306 26804 35ae 00 .uleb128 .LVU2312 26805 .LLST273: 26806 35af 16000000 .4byte .LVL433 26807 35b3 20000000 .4byte .LVL435 26808 35b7 0100 .2byte 0x1 26809 35b9 51 .byte 0x51 26810 35ba 28000000 .4byte .LVL436 26811 35be 70000000 .4byte .LVL438 26812 35c2 0100 .2byte 0x1 26813 35c4 51 .byte 0x51 26814 35c5 70000000 .4byte .LVL438 26815 35c9 B6000000 .4byte .LVL445 26816 35cd 0A00 .2byte 0xa 26817 35cf F3 .byte 0xf3 26818 35d0 03 .uleb128 0x3 26819 35d1 F5 .byte 0xf5 26820 35d2 01 .uleb128 0x1 26821 35d3 29 .uleb128 0x29 26822 35d4 F7 .byte 0xf7 26823 35d5 30 .uleb128 0x30 26824 35d6 F7 .byte 0xf7 26825 35d7 00 .uleb128 0 26826 35d8 9F .byte 0x9f 26827 35d9 B8000000 .4byte .LVL446 26828 35dd 08010000 .4byte .LVL450 26829 35e1 0A00 .2byte 0xa 26830 35e3 F3 .byte 0xf3 26831 35e4 03 .uleb128 0x3 26832 35e5 F5 .byte 0xf5 26833 35e6 01 .uleb128 0x1 26834 35e7 29 .uleb128 0x29 26835 35e8 F7 .byte 0xf7 26836 35e9 30 .uleb128 0x30 26837 35ea F7 .byte 0xf7 26838 35eb 00 .uleb128 0 26839 35ec 9F .byte 0x9f 26840 35ed 0A010000 .4byte .LVL451 26841 35f1 20010000 .4byte .LVL453 26842 35f5 0A00 .2byte 0xa 26843 35f7 F3 .byte 0xf3 26844 35f8 03 .uleb128 0x3 26845 35f9 F5 .byte 0xf5 26846 35fa 01 .uleb128 0x1 26847 35fb 29 .uleb128 0x29 26848 35fc F7 .byte 0xf7 26849 35fd 30 .uleb128 0x30 26850 35fe F7 .byte 0xf7 26851 35ff 00 .uleb128 0 26852 3600 9F .byte 0x9f 26853 3601 00000000 .4byte 0 26854 3605 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 948 26855 .LVUS274: 26856 3609 01 .uleb128 .LVU2223 26857 360a 00 .uleb128 .LVU2228 26858 360b 00 .uleb128 .LVU2231 26859 360c 00 .uleb128 .LVU2288 26860 360d 00 .uleb128 .LVU2289 26861 360e 00 .uleb128 .LVU2295 26862 360f 00 .uleb128 .LVU2295 26863 3610 00 .uleb128 .LVU2305 26864 3611 00 .uleb128 .LVU2306 26865 3612 00 .uleb128 .LVU2312 26866 .LLST274: 26867 3613 16000000 .4byte .LVL433 26868 3617 20000000 .4byte .LVL435 26869 361b 0100 .2byte 0x1 26870 361d 56 .byte 0x56 26871 361e 28000000 .4byte .LVL436 26872 3622 B6000000 .4byte .LVL445 26873 3626 0100 .2byte 0x1 26874 3628 56 .byte 0x56 26875 3629 B8000000 .4byte .LVL446 26876 362d D8000000 .4byte .LVL447 26877 3631 0100 .2byte 0x1 26878 3633 56 .byte 0x56 26879 3634 D8000000 .4byte .LVL447 26880 3638 08010000 .4byte .LVL450 26881 363c 0A00 .2byte 0xa 26882 363e F3 .byte 0xf3 26883 363f 03 .uleb128 0x3 26884 3640 F5 .byte 0xf5 26885 3641 02 .uleb128 0x2 26886 3642 29 .uleb128 0x29 26887 3643 F7 .byte 0xf7 26888 3644 30 .uleb128 0x30 26889 3645 F7 .byte 0xf7 26890 3646 00 .uleb128 0 26891 3647 9F .byte 0x9f 26892 3648 0A010000 .4byte .LVL451 26893 364c 20010000 .4byte .LVL453 26894 3650 0A00 .2byte 0xa 26895 3652 F3 .byte 0xf3 26896 3653 03 .uleb128 0x3 26897 3654 F5 .byte 0xf5 26898 3655 02 .uleb128 0x2 26899 3656 29 .uleb128 0x29 26900 3657 F7 .byte 0xf7 26901 3658 30 .uleb128 0x30 26902 3659 F7 .byte 0xf7 26903 365a 00 .uleb128 0 26904 365b 9F .byte 0x9f 26905 365c 00000000 .4byte 0 26906 3660 00000000 .4byte 0 26907 .LVUS275: 26908 3664 01 .uleb128 .LVU2281 26909 3665 00 .uleb128 .LVU2288 26910 3666 00 .uleb128 .LVU2289 26911 3667 00 .uleb128 .LVU2297 ARM GAS /tmp/ccJhhmLc.s page 949 26912 3668 00 .uleb128 .LVU2297 26913 3669 00 .uleb128 .LVU2305 26914 366a 00 .uleb128 .LVU2306 26915 366b 00 .uleb128 .LVU2312 26916 .LLST275: 26917 366c A0000000 .4byte .LVL444 26918 3670 B6000000 .4byte .LVL445 26919 3674 0100 .2byte 0x1 26920 3676 50 .byte 0x50 26921 3677 B8000000 .4byte .LVL446 26922 367b E4000000 .4byte .LVL448 26923 367f 0100 .2byte 0x1 26924 3681 50 .byte 0x50 26925 3682 E4000000 .4byte .LVL448 26926 3686 08010000 .4byte .LVL450 26927 368a 0100 .2byte 0x1 26928 368c 57 .byte 0x57 26929 368d 0A010000 .4byte .LVL451 26930 3691 20010000 .4byte .LVL453 26931 3695 0100 .2byte 0x1 26932 3697 57 .byte 0x57 26933 3698 00000000 .4byte 0 26934 369c 00000000 .4byte 0 26935 .LVUS276: 26936 36a0 02 .uleb128 .LVU2224 26937 36a1 00 .uleb128 .LVU2228 26938 36a2 00 .uleb128 .LVU2231 26939 36a3 00 .uleb128 .LVU2270 26940 36a4 00 .uleb128 .LVU2270 26941 36a5 00 .uleb128 .LVU2278 26942 .LLST276: 26943 36a6 16000000 .4byte .LVL433 26944 36aa 20000000 .4byte .LVL435 26945 36ae 0100 .2byte 0x1 26946 36b0 51 .byte 0x51 26947 36b1 28000000 .4byte .LVL436 26948 36b5 8A000000 .4byte .LVL441 26949 36b9 0100 .2byte 0x1 26950 36bb 51 .byte 0x51 26951 36bc 8A000000 .4byte .LVL441 26952 36c0 93000000 .4byte .LVL442-1 26953 36c4 2000 .2byte 0x20 26954 36c6 F3 .byte 0xf3 26955 36c7 03 .uleb128 0x3 26956 36c8 F5 .byte 0xf5 26957 36c9 01 .uleb128 0x1 26958 36ca 29 .uleb128 0x29 26959 36cb F7 .byte 0xf7 26960 36cc 30 .uleb128 0x30 26961 36cd F7 .byte 0xf7 26962 36ce 00 .uleb128 0 26963 36cf 39 .byte 0x39 26964 36d0 24 .byte 0x24 26965 36d1 F3 .byte 0xf3 26966 36d2 03 .uleb128 0x3 26967 36d3 F5 .byte 0xf5 26968 36d4 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 950 26969 36d5 29 .uleb128 0x29 26970 36d6 F7 .byte 0xf7 26971 36d7 30 .uleb128 0x30 26972 36d8 F7 .byte 0xf7 26973 36d9 00 .uleb128 0 26974 36da 74 .byte 0x74 26975 36db C400 .sleb128 68 26976 36dd 06 .byte 0x6 26977 36de 31 .byte 0x31 26978 36df 2E .byte 0x2e 26979 36e0 28 .byte 0x28 26980 36e1 0100 .2byte 0x1 26981 36e3 16 .byte 0x16 26982 36e4 13 .byte 0x13 26983 36e5 9F .byte 0x9f 26984 36e6 00000000 .4byte 0 26985 36ea 00000000 .4byte 0 26986 .LVUS277: 26987 36ee 00 .uleb128 .LVU2255 26988 36ef 00 .uleb128 0 26989 .LLST277: 26990 36f0 80000000 .4byte .LVL439 26991 36f4 6C010000 .4byte .LFE124 26992 36f8 0100 .2byte 0x1 26993 36fa 55 .byte 0x55 26994 36fb 00000000 .4byte 0 26995 36ff 00000000 .4byte 0 26996 .LVUS278: 26997 3703 00 .uleb128 .LVU2255 26998 3704 00 .uleb128 .LVU2270 26999 3705 00 .uleb128 .LVU2270 27000 3706 00 .uleb128 .LVU2278 27001 .LLST278: 27002 3707 80000000 .4byte .LVL439 27003 370b 8A000000 .4byte .LVL441 27004 370f 0100 .2byte 0x1 27005 3711 51 .byte 0x51 27006 3712 8A000000 .4byte .LVL441 27007 3716 93000000 .4byte .LVL442-1 27008 371a 2000 .2byte 0x20 27009 371c F3 .byte 0xf3 27010 371d 03 .uleb128 0x3 27011 371e F5 .byte 0xf5 27012 371f 01 .uleb128 0x1 27013 3720 29 .uleb128 0x29 27014 3721 F7 .byte 0xf7 27015 3722 30 .uleb128 0x30 27016 3723 F7 .byte 0xf7 27017 3724 00 .uleb128 0 27018 3725 39 .byte 0x39 27019 3726 24 .byte 0x24 27020 3727 F3 .byte 0xf3 27021 3728 03 .uleb128 0x3 27022 3729 F5 .byte 0xf5 27023 372a 01 .uleb128 0x1 27024 372b 29 .uleb128 0x29 27025 372c F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 951 27026 372d 30 .uleb128 0x30 27027 372e F7 .byte 0xf7 27028 372f 00 .uleb128 0 27029 3730 74 .byte 0x74 27030 3731 C400 .sleb128 68 27031 3733 06 .byte 0x6 27032 3734 31 .byte 0x31 27033 3735 2E .byte 0x2e 27034 3736 28 .byte 0x28 27035 3737 0100 .2byte 0x1 27036 3739 16 .byte 0x16 27037 373a 13 .byte 0x13 27038 373b 9F .byte 0x9f 27039 373c 00000000 .4byte 0 27040 3740 00000000 .4byte 0 27041 .LVUS279: 27042 3744 00 .uleb128 .LVU2262 27043 3745 01 .uleb128 .LVU2281 27044 .LLST279: 27045 3746 84000000 .4byte .LVL440 27046 374a A0000000 .4byte .LVL444 27047 374e 0100 .2byte 0x1 27048 3750 55 .byte 0x55 27049 3751 00000000 .4byte 0 27050 3755 00000000 .4byte 0 27051 .LVUS280: 27052 3759 00 .uleb128 .LVU2262 27053 375a 00 .uleb128 .LVU2270 27054 375b 00 .uleb128 .LVU2270 27055 375c 00 .uleb128 .LVU2278 27056 .LLST280: 27057 375d 84000000 .4byte .LVL440 27058 3761 8A000000 .4byte .LVL441 27059 3765 0100 .2byte 0x1 27060 3767 51 .byte 0x51 27061 3768 8A000000 .4byte .LVL441 27062 376c 93000000 .4byte .LVL442-1 27063 3770 2000 .2byte 0x20 27064 3772 F3 .byte 0xf3 27065 3773 03 .uleb128 0x3 27066 3774 F5 .byte 0xf5 27067 3775 01 .uleb128 0x1 27068 3776 29 .uleb128 0x29 27069 3777 F7 .byte 0xf7 27070 3778 30 .uleb128 0x30 27071 3779 F7 .byte 0xf7 27072 377a 00 .uleb128 0 27073 377b 39 .byte 0x39 27074 377c 24 .byte 0x24 27075 377d F3 .byte 0xf3 27076 377e 03 .uleb128 0x3 27077 377f F5 .byte 0xf5 27078 3780 01 .uleb128 0x1 27079 3781 29 .uleb128 0x29 27080 3782 F7 .byte 0xf7 27081 3783 30 .uleb128 0x30 27082 3784 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 952 27083 3785 00 .uleb128 0 27084 3786 74 .byte 0x74 27085 3787 C400 .sleb128 68 27086 3789 06 .byte 0x6 27087 378a 31 .byte 0x31 27088 378b 2E .byte 0x2e 27089 378c 28 .byte 0x28 27090 378d 0100 .2byte 0x1 27091 378f 16 .byte 0x16 27092 3790 13 .byte 0x13 27093 3791 9F .byte 0x9f 27094 3792 00000000 .4byte 0 27095 3796 00000000 .4byte 0 27096 .LVUS281: 27097 379a 00 .uleb128 .LVU2280 27098 379b 01 .uleb128 .LVU2281 27099 .LLST281: 27100 379c A0000000 .4byte .LVL444 27101 37a0 A0000000 .4byte .LVL444 27102 37a4 0100 .2byte 0x1 27103 37a6 50 .byte 0x50 27104 37a7 00000000 .4byte 0 27105 37ab 00000000 .4byte 0 27106 .LVUS282: 27107 37af 00 .uleb128 .LVU2306 27108 37b0 00 .uleb128 .LVU2312 27109 .LLST282: 27110 37b1 0A010000 .4byte .LVL451 27111 37b5 20010000 .4byte .LVL453 27112 37b9 0100 .2byte 0x1 27113 37bb 55 .byte 0x55 27114 37bc 00000000 .4byte 0 27115 37c0 00000000 .4byte 0 27116 .LVUS283: 27117 37c4 00 .uleb128 .LVU2306 27118 37c5 00 .uleb128 .LVU2312 27119 .LLST283: 27120 37c6 0A010000 .4byte .LVL451 27121 37ca 20010000 .4byte .LVL453 27122 37ce 0600 .2byte 0x6 27123 37d0 F2 .byte 0xf2 27124 37d1 9E230000 .4byte .Ldebug_info0+9118 27125 37d5 00 .sleb128 0 27126 37d6 00000000 .4byte 0 27127 37da 00000000 .4byte 0 27128 .LVUS284: 27129 37de 01 .uleb128 .LVU2307 27130 37df 00 .uleb128 .LVU2309 27131 37e0 00 .uleb128 .LVU2309 27132 37e1 00 .uleb128 0 27133 .LLST284: 27134 37e2 0A010000 .4byte .LVL451 27135 37e6 12010000 .4byte .LVL452 27136 37ea 0200 .2byte 0x2 27137 37ec 30 .byte 0x30 27138 37ed 9F .byte 0x9f 27139 37ee 12010000 .4byte .LVL452 ARM GAS /tmp/ccJhhmLc.s page 953 27140 37f2 6C010000 .4byte .LFE124 27141 37f6 0300 .2byte 0x3 27142 37f8 08 .byte 0x8 27143 37f9 91 .byte 0x91 27144 37fa 9F .byte 0x9f 27145 37fb 00000000 .4byte 0 27146 37ff 00000000 .4byte 0 27147 .LLST285: 27148 3803 00000000 .4byte .LFB129 27149 3807 02000000 .4byte .LCFI55 27150 380b 0200 .2byte 0x2 27151 380d 7D .byte 0x7d 27152 380e 00 .sleb128 0 27153 380f 02000000 .4byte .LCFI55 27154 3813 90000000 .4byte .LFE129 27155 3817 0200 .2byte 0x2 27156 3819 7D .byte 0x7d 27157 381a 18 .sleb128 24 27158 381b 00000000 .4byte 0 27159 381f 00000000 .4byte 0 27160 .LVUS286: 27161 3823 00 .uleb128 0 27162 3824 00 .uleb128 .LVU2346 27163 3825 00 .uleb128 .LVU2346 27164 3826 00 .uleb128 0 27165 .LLST286: 27166 3827 00000000 .4byte .LVL455 27167 382b 0B000000 .4byte .LVL457-1 27168 382f 0100 .2byte 0x1 27169 3831 50 .byte 0x50 27170 3832 0B000000 .4byte .LVL457-1 27171 3836 90000000 .4byte .LFE129 27172 383a 0A00 .2byte 0xa 27173 383c F3 .byte 0xf3 27174 383d 03 .uleb128 0x3 27175 383e F5 .byte 0xf5 27176 383f 00 .uleb128 0 27177 3840 29 .uleb128 0x29 27178 3841 F7 .byte 0xf7 27179 3842 37 .uleb128 0x37 27180 3843 F7 .byte 0xf7 27181 3844 00 .uleb128 0 27182 3845 9F .byte 0x9f 27183 3846 00000000 .4byte 0 27184 384a 00000000 .4byte 0 27185 .LVUS287: 27186 384e 00 .uleb128 0 27187 384f 00 .uleb128 .LVU2346 27188 3850 00 .uleb128 .LVU2346 27189 3851 00 .uleb128 .LVU2347 27190 3852 00 .uleb128 .LVU2349 27191 3853 00 .uleb128 .LVU2361 27192 3854 00 .uleb128 .LVU2361 27193 3855 01 .uleb128 .LVU2368 27194 3856 01 .uleb128 .LVU2368 27195 3857 00 .uleb128 .LVU2371 27196 3858 00 .uleb128 .LVU2371 ARM GAS /tmp/ccJhhmLc.s page 954 27197 3859 00 .uleb128 .LVU2375 27198 385a 00 .uleb128 .LVU2375 27199 385b 00 .uleb128 .LVU2377 27200 385c 00 .uleb128 .LVU2377 27201 385d 00 .uleb128 0 27202 .LLST287: 27203 385e 00000000 .4byte .LVL455 27204 3862 0B000000 .4byte .LVL457-1 27205 3866 0100 .2byte 0x1 27206 3868 51 .byte 0x51 27207 3869 0B000000 .4byte .LVL457-1 27208 386d 10000000 .4byte .LVL458 27209 3871 0100 .2byte 0x1 27210 3873 55 .byte 0x55 27211 3874 14000000 .4byte .LVL459 27212 3878 46000000 .4byte .LVL462 27213 387c 0100 .2byte 0x1 27214 387e 55 .byte 0x55 27215 387f 46000000 .4byte .LVL462 27216 3883 64000000 .4byte .LVL466 27217 3887 0A00 .2byte 0xa 27218 3889 F3 .byte 0xf3 27219 388a 03 .uleb128 0x3 27220 388b F5 .byte 0xf5 27221 388c 01 .uleb128 0x1 27222 388d 29 .uleb128 0x29 27223 388e F7 .byte 0xf7 27224 388f 30 .uleb128 0x30 27225 3890 F7 .byte 0xf7 27226 3891 00 .uleb128 0 27227 3892 9F .byte 0x9f 27228 3893 64000000 .4byte .LVL466 27229 3897 6C000000 .4byte .LVL468 27230 389b 1200 .2byte 0x12 27231 389d 77 .byte 0x77 27232 389e 00 .sleb128 0 27233 389f 74 .byte 0x74 27234 38a0 00 .sleb128 0 27235 38a1 1C .byte 0x1c 27236 38a2 39 .byte 0x39 27237 38a3 24 .byte 0x24 27238 38a4 F3 .byte 0xf3 27239 38a5 03 .uleb128 0x3 27240 38a6 F5 .byte 0xf5 27241 38a7 01 .uleb128 0x1 27242 38a8 29 .uleb128 0x29 27243 38a9 F7 .byte 0xf7 27244 38aa 30 .uleb128 0x30 27245 38ab F7 .byte 0xf7 27246 38ac 00 .uleb128 0 27247 38ad 22 .byte 0x22 27248 38ae 9F .byte 0x9f 27249 38af 6C000000 .4byte .LVL468 27250 38b3 76000000 .4byte .LVL470 27251 38b7 0A00 .2byte 0xa 27252 38b9 F3 .byte 0xf3 27253 38ba 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 955 27254 38bb F5 .byte 0xf5 27255 38bc 01 .uleb128 0x1 27256 38bd 29 .uleb128 0x29 27257 38be F7 .byte 0xf7 27258 38bf 30 .uleb128 0x30 27259 38c0 F7 .byte 0xf7 27260 38c1 00 .uleb128 0 27261 38c2 9F .byte 0x9f 27262 38c3 76000000 .4byte .LVL470 27263 38c7 80000000 .4byte .LVL472 27264 38cb 0100 .2byte 0x1 27265 38cd 55 .byte 0x55 27266 38ce 80000000 .4byte .LVL472 27267 38d2 90000000 .4byte .LFE129 27268 38d6 0A00 .2byte 0xa 27269 38d8 F3 .byte 0xf3 27270 38d9 03 .uleb128 0x3 27271 38da F5 .byte 0xf5 27272 38db 01 .uleb128 0x1 27273 38dc 29 .uleb128 0x29 27274 38dd F7 .byte 0xf7 27275 38de 30 .uleb128 0x30 27276 38df F7 .byte 0xf7 27277 38e0 00 .uleb128 0 27278 38e1 9F .byte 0x9f 27279 38e2 00000000 .4byte 0 27280 38e6 00000000 .4byte 0 27281 .LVUS288: 27282 38ea 00 .uleb128 0 27283 38eb 00 .uleb128 .LVU2346 27284 38ec 00 .uleb128 .LVU2346 27285 38ed 00 .uleb128 .LVU2347 27286 38ee 00 .uleb128 .LVU2349 27287 38ef 00 .uleb128 .LVU2365 27288 38f0 00 .uleb128 .LVU2365 27289 38f1 00 .uleb128 .LVU2372 27290 38f2 00 .uleb128 .LVU2372 27291 38f3 00 .uleb128 0 27292 .LLST288: 27293 38f4 00000000 .4byte .LVL455 27294 38f8 0B000000 .4byte .LVL457-1 27295 38fc 0100 .2byte 0x1 27296 38fe 52 .byte 0x52 27297 38ff 0B000000 .4byte .LVL457-1 27298 3903 10000000 .4byte .LVL458 27299 3907 0100 .2byte 0x1 27300 3909 54 .byte 0x54 27301 390a 14000000 .4byte .LVL459 27302 390e 5C000000 .4byte .LVL464 27303 3912 0100 .2byte 0x1 27304 3914 54 .byte 0x54 27305 3915 5C000000 .4byte .LVL464 27306 3919 6E000000 .4byte .LVL469 27307 391d 0100 .2byte 0x1 27308 391f 57 .byte 0x57 27309 3920 6E000000 .4byte .LVL469 27310 3924 90000000 .4byte .LFE129 ARM GAS /tmp/ccJhhmLc.s page 956 27311 3928 0100 .2byte 0x1 27312 392a 54 .byte 0x54 27313 392b 00000000 .4byte 0 27314 392f 00000000 .4byte 0 27315 .LVUS289: 27316 3933 00 .uleb128 0 27317 3934 00 .uleb128 .LVU2346 27318 3935 00 .uleb128 .LVU2346 27319 3936 00 .uleb128 .LVU2347 27320 3937 00 .uleb128 .LVU2349 27321 3938 00 .uleb128 .LVU2361 27322 3939 00 .uleb128 .LVU2361 27323 393a 00 .uleb128 .LVU2372 27324 393b 00 .uleb128 .LVU2372 27325 393c 01 .uleb128 .LVU2373 27326 393d 01 .uleb128 .LVU2373 27327 393e 00 .uleb128 .LVU2375 27328 393f 00 .uleb128 .LVU2375 27329 3940 00 .uleb128 .LVU2376 27330 3941 00 .uleb128 .LVU2376 27331 3942 00 .uleb128 0 27332 .LLST289: 27333 3943 00000000 .4byte .LVL455 27334 3947 0B000000 .4byte .LVL457-1 27335 394b 0100 .2byte 0x1 27336 394d 53 .byte 0x53 27337 394e 0B000000 .4byte .LVL457-1 27338 3952 10000000 .4byte .LVL458 27339 3956 0100 .2byte 0x1 27340 3958 56 .byte 0x56 27341 3959 14000000 .4byte .LVL459 27342 395d 46000000 .4byte .LVL462 27343 3961 0100 .2byte 0x1 27344 3963 56 .byte 0x56 27345 3964 46000000 .4byte .LVL462 27346 3968 6E000000 .4byte .LVL469 27347 396c 0C00 .2byte 0xc 27348 396e F3 .byte 0xf3 27349 396f 03 .uleb128 0x3 27350 3970 F5 .byte 0xf5 27351 3971 03 .uleb128 0x3 27352 3972 29 .uleb128 0x29 27353 3973 F7 .byte 0xf7 27354 3974 30 .uleb128 0x30 27355 3975 F7 .byte 0xf7 27356 3976 00 .uleb128 0 27357 3977 31 .byte 0x31 27358 3978 1C .byte 0x1c 27359 3979 9F .byte 0x9f 27360 397a 6E000000 .4byte .LVL469 27361 397e 6E000000 .4byte .LVL469 27362 3982 0A00 .2byte 0xa 27363 3984 F3 .byte 0xf3 27364 3985 03 .uleb128 0x3 27365 3986 F5 .byte 0xf5 27366 3987 03 .uleb128 0x3 27367 3988 29 .uleb128 0x29 ARM GAS /tmp/ccJhhmLc.s page 957 27368 3989 F7 .byte 0xf7 27369 398a 30 .uleb128 0x30 27370 398b F7 .byte 0xf7 27371 398c 00 .uleb128 0 27372 398d 9F .byte 0x9f 27373 398e 6E000000 .4byte .LVL469 27374 3992 76000000 .4byte .LVL470 27375 3996 0C00 .2byte 0xc 27376 3998 F3 .byte 0xf3 27377 3999 03 .uleb128 0x3 27378 399a F5 .byte 0xf5 27379 399b 03 .uleb128 0x3 27380 399c 29 .uleb128 0x29 27381 399d F7 .byte 0xf7 27382 399e 30 .uleb128 0x30 27383 399f F7 .byte 0xf7 27384 39a0 00 .uleb128 0 27385 39a1 31 .byte 0x31 27386 39a2 1C .byte 0x1c 27387 39a3 9F .byte 0x9f 27388 39a4 76000000 .4byte .LVL470 27389 39a8 7C000000 .4byte .LVL471 27390 39ac 0100 .2byte 0x1 27391 39ae 56 .byte 0x56 27392 39af 7C000000 .4byte .LVL471 27393 39b3 90000000 .4byte .LFE129 27394 39b7 0A00 .2byte 0xa 27395 39b9 F3 .byte 0xf3 27396 39ba 03 .uleb128 0x3 27397 39bb F5 .byte 0xf5 27398 39bc 03 .uleb128 0x3 27399 39bd 29 .uleb128 0x29 27400 39be F7 .byte 0xf7 27401 39bf 30 .uleb128 0x30 27402 39c0 F7 .byte 0xf7 27403 39c1 00 .uleb128 0 27404 39c2 9F .byte 0x9f 27405 39c3 00000000 .4byte 0 27406 39c7 00000000 .4byte 0 27407 .LVUS290: 27408 39cb 01 .uleb128 .LVU2343 27409 39cc 00 .uleb128 .LVU2347 27410 39cd 00 .uleb128 .LVU2349 27411 39ce 00 .uleb128 .LVU2357 27412 39cf 00 .uleb128 .LVU2357 27413 39d0 00 .uleb128 .LVU2360 27414 39d1 00 .uleb128 .LVU2361 27415 39d2 00 .uleb128 .LVU2366 27416 39d3 00 .uleb128 .LVU2366 27417 39d4 00 .uleb128 .LVU2370 27418 39d5 00 .uleb128 .LVU2372 27419 39d6 00 .uleb128 0 27420 .LLST290: 27421 39d7 06000000 .4byte .LVL456 27422 39db 10000000 .4byte .LVL458 27423 39df 0200 .2byte 0x2 27424 39e1 30 .byte 0x30 ARM GAS /tmp/ccJhhmLc.s page 958 27425 39e2 9F .byte 0x9f 27426 39e3 14000000 .4byte .LVL459 27427 39e7 36000000 .4byte .LVL460 27428 39eb 0200 .2byte 0x2 27429 39ed 30 .byte 0x30 27430 39ee 9F .byte 0x9f 27431 39ef 36000000 .4byte .LVL460 27432 39f3 3D000000 .4byte .LVL461-1 27433 39f7 0100 .2byte 0x1 27434 39f9 50 .byte 0x50 27435 39fa 46000000 .4byte .LVL462 27436 39fe 60000000 .4byte .LVL465 27437 3a02 0200 .2byte 0x2 27438 3a04 30 .byte 0x30 27439 3a05 9F .byte 0x9f 27440 3a06 60000000 .4byte .LVL465 27441 3a0a 67000000 .4byte .LVL467-1 27442 3a0e 0100 .2byte 0x1 27443 3a10 50 .byte 0x50 27444 3a11 6E000000 .4byte .LVL469 27445 3a15 90000000 .4byte .LFE129 27446 3a19 0200 .2byte 0x2 27447 3a1b 30 .byte 0x30 27448 3a1c 9F .byte 0x9f 27449 3a1d 00000000 .4byte 0 27450 3a21 00000000 .4byte 0 27451 .LLST291: 27452 3a25 00000000 .4byte .LFB132 27453 3a29 02000000 .4byte .LCFI56 27454 3a2d 0200 .2byte 0x2 27455 3a2f 7D .byte 0x7d 27456 3a30 00 .sleb128 0 27457 3a31 02000000 .4byte .LCFI56 27458 3a35 E4000000 .4byte .LFE132 27459 3a39 0200 .2byte 0x2 27460 3a3b 7D .byte 0x7d 27461 3a3c 10 .sleb128 16 27462 3a3d 00000000 .4byte 0 27463 3a41 00000000 .4byte 0 27464 .LVUS293: 27465 3a45 01 .uleb128 .LVU2379 27466 3a46 00 .uleb128 .LVU2396 27467 .LLST293: 27468 3a47 00000000 .4byte .LVL473 27469 3a4b 46000000 .4byte .LVL479 27470 3a4f 0200 .2byte 0x2 27471 3a51 30 .byte 0x30 27472 3a52 9F .byte 0x9f 27473 3a53 00000000 .4byte 0 27474 3a57 00000000 .4byte 0 27475 .LVUS295: 27476 3a5b 00 .uleb128 .LVU2381 27477 3a5c 00 .uleb128 .LVU2396 27478 .LLST295: 27479 3a5d 08000000 .4byte .LVL474 27480 3a61 46000000 .4byte .LVL479 27481 3a65 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 959 27482 3a67 55 .byte 0x55 27483 3a68 00000000 .4byte 0 27484 3a6c 00000000 .4byte 0 27485 .LVUS296: 27486 3a70 00 .uleb128 .LVU2381 27487 3a71 00 .uleb128 .LVU2390 27488 3a72 00 .uleb128 .LVU2390 27489 3a73 00 .uleb128 .LVU2391 27490 3a74 00 .uleb128 .LVU2391 27491 3a75 00 .uleb128 .LVU2396 27492 .LLST296: 27493 3a76 08000000 .4byte .LVL474 27494 3a7a 27000000 .4byte .LVL477-1 27495 3a7e 0200 .2byte 0x2 27496 3a80 75 .byte 0x75 27497 3a81 00 .sleb128 0 27498 3a82 27000000 .4byte .LVL477-1 27499 3a86 2B000000 .4byte .LVL478-1 27500 3a8a 0100 .2byte 0x1 27501 3a8c 50 .byte 0x50 27502 3a8d 2B000000 .4byte .LVL478-1 27503 3a91 46000000 .4byte .LVL479 27504 3a95 0100 .2byte 0x1 27505 3a97 56 .byte 0x56 27506 3a98 00000000 .4byte 0 27507 3a9c 00000000 .4byte 0 27508 .LVUS297: 27509 3aa0 00 .uleb128 .LVU2384 27510 3aa1 00 .uleb128 .LVU2386 27511 .LLST297: 27512 3aa2 18000000 .4byte .LVL475 27513 3aa6 20000000 .4byte .LVL476 27514 3aaa 0200 .2byte 0x2 27515 3aac 75 .byte 0x75 27516 3aad 00 .sleb128 0 27517 3aae 00000000 .4byte 0 27518 3ab2 00000000 .4byte 0 27519 .LVUS299: 27520 3ab6 00 .uleb128 .LVU2405 27521 3ab7 00 .uleb128 .LVU2429 27522 .LLST299: 27523 3ab8 6C000000 .4byte .LVL481 27524 3abc D4000000 .4byte .LVL491 27525 3ac0 0200 .2byte 0x2 27526 3ac2 30 .byte 0x30 27527 3ac3 9F .byte 0x9f 27528 3ac4 00000000 .4byte 0 27529 3ac8 00000000 .4byte 0 27530 .LVUS301: 27531 3acc 00 .uleb128 .LVU2405 27532 3acd 00 .uleb128 .LVU2429 27533 .LLST301: 27534 3ace 6C000000 .4byte .LVL481 27535 3ad2 D4000000 .4byte .LVL491 27536 3ad6 0100 .2byte 0x1 27537 3ad8 55 .byte 0x55 27538 3ad9 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 960 27539 3add 00000000 .4byte 0 27540 .LVUS302: 27541 3ae1 00 .uleb128 .LVU2407 27542 3ae2 00 .uleb128 .LVU2421 27543 .LLST302: 27544 3ae3 70000000 .4byte .LVL482 27545 3ae7 AE000000 .4byte .LVL487 27546 3aeb 0100 .2byte 0x1 27547 3aed 54 .byte 0x54 27548 3aee 00000000 .4byte 0 27549 3af2 00000000 .4byte 0 27550 .LVUS303: 27551 3af6 00 .uleb128 .LVU2417 27552 3af7 00 .uleb128 .LVU2419 27553 3af8 00 .uleb128 .LVU2420 27554 3af9 00 .uleb128 .LVU2421 27555 .LLST303: 27556 3afa A2000000 .4byte .LVL484 27557 3afe A8000000 .4byte .LVL485 27558 3b02 0100 .2byte 0x1 27559 3b04 50 .byte 0x50 27560 3b05 AC000000 .4byte .LVL486 27561 3b09 AE000000 .4byte .LVL487 27562 3b0d 0100 .2byte 0x1 27563 3b0f 50 .byte 0x50 27564 3b10 00000000 .4byte 0 27565 3b14 00000000 .4byte 0 27566 .LVUS305: 27567 3b18 00 .uleb128 .LVU2407 27568 3b19 00 .uleb128 .LVU2409 27569 .LLST305: 27570 3b1a 70000000 .4byte .LVL482 27571 3b1e 82000000 .4byte .LVL483 27572 3b22 0200 .2byte 0x2 27573 3b24 30 .byte 0x30 27574 3b25 9F .byte 0x9f 27575 3b26 00000000 .4byte 0 27576 3b2a 00000000 .4byte 0 27577 .LVUS306: 27578 3b2e 00 .uleb128 .LVU2421 27579 3b2f 00 .uleb128 .LVU2427 27580 .LLST306: 27581 3b30 AE000000 .4byte .LVL487 27582 3b34 CE000000 .4byte .LVL490 27583 3b38 0100 .2byte 0x1 27584 3b3a 55 .byte 0x55 27585 3b3b 00000000 .4byte 0 27586 3b3f 00000000 .4byte 0 27587 .LVUS307: 27588 3b43 00 .uleb128 .LVU2424 27589 3b44 00 .uleb128 .LVU2427 27590 .LLST307: 27591 3b45 BE000000 .4byte .LVL489 27592 3b49 CE000000 .4byte .LVL490 27593 3b4d 0300 .2byte 0x3 27594 3b4f 08 .byte 0x8 27595 3b50 43 .byte 0x43 ARM GAS /tmp/ccJhhmLc.s page 961 27596 3b51 9F .byte 0x9f 27597 3b52 00000000 .4byte 0 27598 3b56 00000000 .4byte 0 27599 .LLST308: 27600 3b5a 00000000 .4byte .LFB148 27601 3b5e 02000000 .4byte .LCFI57 27602 3b62 0200 .2byte 0x2 27603 3b64 7D .byte 0x7d 27604 3b65 00 .sleb128 0 27605 3b66 02000000 .4byte .LCFI57 27606 3b6a 2A000000 .4byte .LCFI58 27607 3b6e 0200 .2byte 0x2 27608 3b70 7D .byte 0x7d 27609 3b71 10 .sleb128 16 27610 3b72 2A000000 .4byte .LCFI58 27611 3b76 30000000 .4byte .LFE148 27612 3b7a 0200 .2byte 0x2 27613 3b7c 7D .byte 0x7d 27614 3b7d 08 .sleb128 8 27615 3b7e 00000000 .4byte 0 27616 3b82 00000000 .4byte 0 27617 .LVUS309: 27618 3b86 00 .uleb128 0 27619 3b87 00 .uleb128 .LVU2440 27620 3b88 00 .uleb128 .LVU2440 27621 3b89 00 .uleb128 .LVU2441 27622 3b8a 00 .uleb128 .LVU2441 27623 3b8b 00 .uleb128 0 27624 .LLST309: 27625 3b8c 00000000 .4byte .LVL492 27626 3b90 18000000 .4byte .LVL493 27627 3b94 0100 .2byte 0x1 27628 3b96 50 .byte 0x50 27629 3b97 18000000 .4byte .LVL493 27630 3b9b 19000000 .4byte .LVL494-1 27631 3b9f 0300 .2byte 0x3 27632 3ba1 74 .byte 0x74 27633 3ba2 B805 .sleb128 696 27634 3ba4 19000000 .4byte .LVL494-1 27635 3ba8 30000000 .4byte .LFE148 27636 3bac 0A00 .2byte 0xa 27637 3bae F3 .byte 0xf3 27638 3baf 03 .uleb128 0x3 27639 3bb0 F5 .byte 0xf5 27640 3bb1 00 .uleb128 0 27641 3bb2 29 .uleb128 0x29 27642 3bb3 F7 .byte 0xf7 27643 3bb4 30 .uleb128 0x30 27644 3bb5 F7 .byte 0xf7 27645 3bb6 00 .uleb128 0 27646 3bb7 9F .byte 0x9f 27647 3bb8 00000000 .4byte 0 27648 3bbc 00000000 .4byte 0 27649 .LLST310: 27650 3bc0 00000000 .4byte .LFB150 27651 3bc4 02000000 .4byte .LCFI59 27652 3bc8 0200 .2byte 0x2 ARM GAS /tmp/ccJhhmLc.s page 962 27653 3bca 7D .byte 0x7d 27654 3bcb 00 .sleb128 0 27655 3bcc 02000000 .4byte .LCFI59 27656 3bd0 3E000000 .4byte .LCFI60 27657 3bd4 0200 .2byte 0x2 27658 3bd6 7D .byte 0x7d 27659 3bd7 08 .sleb128 8 27660 3bd8 3E000000 .4byte .LCFI60 27661 3bdc 42000000 .4byte .LCFI61 27662 3be0 0200 .2byte 0x2 27663 3be2 7D .byte 0x7d 27664 3be3 00 .sleb128 0 27665 3be4 42000000 .4byte .LCFI61 27666 3be8 44000000 .4byte .LCFI62 27667 3bec 0200 .2byte 0x2 27668 3bee 7D .byte 0x7d 27669 3bef 08 .sleb128 8 27670 3bf0 44000000 .4byte .LCFI62 27671 3bf4 48000000 .4byte .LFE150 27672 3bf8 0200 .2byte 0x2 27673 3bfa 7D .byte 0x7d 27674 3bfb 00 .sleb128 0 27675 3bfc 00000000 .4byte 0 27676 3c00 00000000 .4byte 0 27677 .LVUS311: 27678 3c04 00 .uleb128 0 27679 3c05 00 .uleb128 .LVU2449 27680 3c06 00 .uleb128 .LVU2449 27681 3c07 00 .uleb128 0 27682 .LLST311: 27683 3c08 00000000 .4byte .LVL495 27684 3c0c 0C000000 .4byte .LVL497 27685 3c10 0100 .2byte 0x1 27686 3c12 50 .byte 0x50 27687 3c13 0C000000 .4byte .LVL497 27688 3c17 48000000 .4byte .LFE150 27689 3c1b 0A00 .2byte 0xa 27690 3c1d F3 .byte 0xf3 27691 3c1e 03 .uleb128 0x3 27692 3c1f F5 .byte 0xf5 27693 3c20 00 .uleb128 0 27694 3c21 29 .uleb128 0x29 27695 3c22 F7 .byte 0xf7 27696 3c23 30 .uleb128 0x30 27697 3c24 F7 .byte 0xf7 27698 3c25 00 .uleb128 0 27699 3c26 9F .byte 0x9f 27700 3c27 00000000 .4byte 0 27701 3c2b 00000000 .4byte 0 27702 .LVUS312: 27703 3c2f 00 .uleb128 0 27704 3c30 00 .uleb128 .LVU2450 27705 3c31 00 .uleb128 .LVU2450 27706 3c32 00 .uleb128 0 27707 .LLST312: 27708 3c33 00000000 .4byte .LVL495 27709 3c37 12000000 .4byte .LVL498 ARM GAS /tmp/ccJhhmLc.s page 963 27710 3c3b 0100 .2byte 0x1 27711 3c3d 51 .byte 0x51 27712 3c3e 12000000 .4byte .LVL498 27713 3c42 48000000 .4byte .LFE150 27714 3c46 0A00 .2byte 0xa 27715 3c48 F3 .byte 0xf3 27716 3c49 03 .uleb128 0x3 27717 3c4a F5 .byte 0xf5 27718 3c4b 01 .uleb128 0x1 27719 3c4c 29 .uleb128 0x29 27720 3c4d F7 .byte 0xf7 27721 3c4e 37 .uleb128 0x37 27722 3c4f F7 .byte 0xf7 27723 3c50 00 .uleb128 0 27724 3c51 9F .byte 0x9f 27725 3c52 00000000 .4byte 0 27726 3c56 00000000 .4byte 0 27727 .LVUS313: 27728 3c5a 00 .uleb128 0 27729 3c5b 00 .uleb128 .LVU2463 27730 3c5c 00 .uleb128 .LVU2463 27731 3c5d 00 .uleb128 .LVU2465 27732 3c5e 00 .uleb128 .LVU2465 27733 3c5f 00 .uleb128 .LVU2466 27734 3c60 00 .uleb128 .LVU2466 27735 3c61 00 .uleb128 .LVU2468 27736 3c62 00 .uleb128 .LVU2468 27737 3c63 00 .uleb128 0 27738 .LLST313: 27739 3c64 00000000 .4byte .LVL495 27740 3c68 3A000000 .4byte .LVL502 27741 3c6c 0100 .2byte 0x1 27742 3c6e 52 .byte 0x52 27743 3c6f 3A000000 .4byte .LVL502 27744 3c73 3E000000 .4byte .LVL503 27745 3c77 0A00 .2byte 0xa 27746 3c79 74 .byte 0x74 27747 3c7a 00 .sleb128 0 27748 3c7b 4C .byte 0x4c 27749 3c7c 1E .byte 0x1e 27750 3c7d 75 .byte 0x75 27751 3c7e 00 .sleb128 0 27752 3c7f 22 .byte 0x22 27753 3c80 23 .byte 0x23 27754 3c81 8804 .uleb128 0x208 27755 3c83 3E000000 .4byte .LVL503 27756 3c87 42000000 .4byte .LVL504 27757 3c8b 0A00 .2byte 0xa 27758 3c8d F3 .byte 0xf3 27759 3c8e 03 .uleb128 0x3 27760 3c8f F5 .byte 0xf5 27761 3c90 02 .uleb128 0x2 27762 3c91 29 .uleb128 0x29 27763 3c92 F7 .byte 0xf7 27764 3c93 30 .uleb128 0x30 27765 3c94 F7 .byte 0xf7 27766 3c95 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 964 27767 3c96 9F .byte 0x9f 27768 3c97 42000000 .4byte .LVL504 27769 3c9b 44000000 .4byte .LVL505 27770 3c9f 0A00 .2byte 0xa 27771 3ca1 74 .byte 0x74 27772 3ca2 00 .sleb128 0 27773 3ca3 4C .byte 0x4c 27774 3ca4 1E .byte 0x1e 27775 3ca5 75 .byte 0x75 27776 3ca6 00 .sleb128 0 27777 3ca7 22 .byte 0x22 27778 3ca8 23 .byte 0x23 27779 3ca9 8804 .uleb128 0x208 27780 3cab 44000000 .4byte .LVL505 27781 3caf 48000000 .4byte .LFE150 27782 3cb3 0A00 .2byte 0xa 27783 3cb5 F3 .byte 0xf3 27784 3cb6 03 .uleb128 0x3 27785 3cb7 F5 .byte 0xf5 27786 3cb8 02 .uleb128 0x2 27787 3cb9 29 .uleb128 0x29 27788 3cba F7 .byte 0xf7 27789 3cbb 30 .uleb128 0x30 27790 3cbc F7 .byte 0xf7 27791 3cbd 00 .uleb128 0 27792 3cbe 9F .byte 0x9f 27793 3cbf 00000000 .4byte 0 27794 3cc3 00000000 .4byte 0 27795 .LVUS314: 27796 3cc7 00 .uleb128 0 27797 3cc8 00 .uleb128 .LVU2454 27798 3cc9 00 .uleb128 .LVU2454 27799 3cca 00 .uleb128 .LVU2462 27800 3ccb 00 .uleb128 .LVU2462 27801 3ccc 00 .uleb128 .LVU2465 27802 3ccd 00 .uleb128 .LVU2465 27803 3cce 00 .uleb128 .LVU2466 27804 3ccf 00 .uleb128 .LVU2466 27805 3cd0 00 .uleb128 .LVU2468 27806 3cd1 00 .uleb128 .LVU2468 27807 3cd2 00 .uleb128 0 27808 .LLST314: 27809 3cd3 00000000 .4byte .LVL495 27810 3cd7 1C000000 .4byte .LVL500 27811 3cdb 0100 .2byte 0x1 27812 3cdd 53 .byte 0x53 27813 3cde 1C000000 .4byte .LVL500 27814 3ce2 38000000 .4byte .LVL501 27815 3ce6 0300 .2byte 0x3 27816 3ce8 70 .byte 0x70 27817 3ce9 9004 .sleb128 528 27818 3ceb 38000000 .4byte .LVL501 27819 3cef 3E000000 .4byte .LVL503 27820 3cf3 0A00 .2byte 0xa 27821 3cf5 74 .byte 0x74 27822 3cf6 00 .sleb128 0 27823 3cf7 4C .byte 0x4c ARM GAS /tmp/ccJhhmLc.s page 965 27824 3cf8 1E .byte 0x1e 27825 3cf9 75 .byte 0x75 27826 3cfa 00 .sleb128 0 27827 3cfb 22 .byte 0x22 27828 3cfc 23 .byte 0x23 27829 3cfd 9004 .uleb128 0x210 27830 3cff 3E000000 .4byte .LVL503 27831 3d03 42000000 .4byte .LVL504 27832 3d07 0A00 .2byte 0xa 27833 3d09 F3 .byte 0xf3 27834 3d0a 03 .uleb128 0x3 27835 3d0b F5 .byte 0xf5 27836 3d0c 03 .uleb128 0x3 27837 3d0d 29 .uleb128 0x29 27838 3d0e F7 .byte 0xf7 27839 3d0f 30 .uleb128 0x30 27840 3d10 F7 .byte 0xf7 27841 3d11 00 .uleb128 0 27842 3d12 9F .byte 0x9f 27843 3d13 42000000 .4byte .LVL504 27844 3d17 44000000 .4byte .LVL505 27845 3d1b 0A00 .2byte 0xa 27846 3d1d 74 .byte 0x74 27847 3d1e 00 .sleb128 0 27848 3d1f 4C .byte 0x4c 27849 3d20 1E .byte 0x1e 27850 3d21 75 .byte 0x75 27851 3d22 00 .sleb128 0 27852 3d23 22 .byte 0x22 27853 3d24 23 .byte 0x23 27854 3d25 9004 .uleb128 0x210 27855 3d27 44000000 .4byte .LVL505 27856 3d2b 48000000 .4byte .LFE150 27857 3d2f 0A00 .2byte 0xa 27858 3d31 F3 .byte 0xf3 27859 3d32 03 .uleb128 0x3 27860 3d33 F5 .byte 0xf5 27861 3d34 03 .uleb128 0x3 27862 3d35 29 .uleb128 0x29 27863 3d36 F7 .byte 0xf7 27864 3d37 30 .uleb128 0x30 27865 3d38 F7 .byte 0xf7 27866 3d39 00 .uleb128 0 27867 3d3a 9F .byte 0x9f 27868 3d3b 00000000 .4byte 0 27869 3d3f 00000000 .4byte 0 27870 .LVUS315: 27871 3d43 00 .uleb128 .LVU2447 27872 3d44 00 .uleb128 .LVU2465 27873 3d45 00 .uleb128 .LVU2466 27874 3d46 00 .uleb128 .LVU2468 27875 .LLST315: 27876 3d47 06000000 .4byte .LVL496 27877 3d4b 3E000000 .4byte .LVL503 27878 3d4f 0100 .2byte 0x1 27879 3d51 55 .byte 0x55 27880 3d52 42000000 .4byte .LVL504 ARM GAS /tmp/ccJhhmLc.s page 966 27881 3d56 44000000 .4byte .LVL505 27882 3d5a 0100 .2byte 0x1 27883 3d5c 55 .byte 0x55 27884 3d5d 00000000 .4byte 0 27885 3d61 00000000 .4byte 0 27886 .LVUS316: 27887 3d65 00 .uleb128 .LVU2447 27888 3d66 00 .uleb128 .LVU2450 27889 3d67 00 .uleb128 .LVU2450 27890 3d68 00 .uleb128 0 27891 .LLST316: 27892 3d69 06000000 .4byte .LVL496 27893 3d6d 12000000 .4byte .LVL498 27894 3d71 0100 .2byte 0x1 27895 3d73 51 .byte 0x51 27896 3d74 12000000 .4byte .LVL498 27897 3d78 48000000 .4byte .LFE150 27898 3d7c 0A00 .2byte 0xa 27899 3d7e F3 .byte 0xf3 27900 3d7f 03 .uleb128 0x3 27901 3d80 F5 .byte 0xf5 27902 3d81 01 .uleb128 0x1 27903 3d82 29 .uleb128 0x29 27904 3d83 F7 .byte 0xf7 27905 3d84 37 .uleb128 0x37 27906 3d85 F7 .byte 0xf7 27907 3d86 00 .uleb128 0 27908 3d87 9F .byte 0x9f 27909 3d88 00000000 .4byte 0 27910 3d8c 00000000 .4byte 0 27911 .LVUS317: 27912 3d90 00 .uleb128 .LVU2447 27913 3d91 00 .uleb128 .LVU2463 27914 3d92 00 .uleb128 .LVU2463 27915 3d93 00 .uleb128 .LVU2465 27916 3d94 00 .uleb128 .LVU2465 27917 3d95 00 .uleb128 .LVU2466 27918 3d96 00 .uleb128 .LVU2466 27919 3d97 00 .uleb128 .LVU2468 27920 3d98 00 .uleb128 .LVU2468 27921 3d99 00 .uleb128 0 27922 .LLST317: 27923 3d9a 06000000 .4byte .LVL496 27924 3d9e 3A000000 .4byte .LVL502 27925 3da2 0100 .2byte 0x1 27926 3da4 52 .byte 0x52 27927 3da5 3A000000 .4byte .LVL502 27928 3da9 3E000000 .4byte .LVL503 27929 3dad 0A00 .2byte 0xa 27930 3daf 74 .byte 0x74 27931 3db0 00 .sleb128 0 27932 3db1 4C .byte 0x4c 27933 3db2 1E .byte 0x1e 27934 3db3 75 .byte 0x75 27935 3db4 00 .sleb128 0 27936 3db5 22 .byte 0x22 27937 3db6 23 .byte 0x23 ARM GAS /tmp/ccJhhmLc.s page 967 27938 3db7 8804 .uleb128 0x208 27939 3db9 3E000000 .4byte .LVL503 27940 3dbd 42000000 .4byte .LVL504 27941 3dc1 0A00 .2byte 0xa 27942 3dc3 F3 .byte 0xf3 27943 3dc4 03 .uleb128 0x3 27944 3dc5 F5 .byte 0xf5 27945 3dc6 02 .uleb128 0x2 27946 3dc7 29 .uleb128 0x29 27947 3dc8 F7 .byte 0xf7 27948 3dc9 30 .uleb128 0x30 27949 3dca F7 .byte 0xf7 27950 3dcb 00 .uleb128 0 27951 3dcc 9F .byte 0x9f 27952 3dcd 42000000 .4byte .LVL504 27953 3dd1 44000000 .4byte .LVL505 27954 3dd5 0A00 .2byte 0xa 27955 3dd7 74 .byte 0x74 27956 3dd8 00 .sleb128 0 27957 3dd9 4C .byte 0x4c 27958 3dda 1E .byte 0x1e 27959 3ddb 75 .byte 0x75 27960 3ddc 00 .sleb128 0 27961 3ddd 22 .byte 0x22 27962 3dde 23 .byte 0x23 27963 3ddf 8804 .uleb128 0x208 27964 3de1 44000000 .4byte .LVL505 27965 3de5 48000000 .4byte .LFE150 27966 3de9 0A00 .2byte 0xa 27967 3deb F3 .byte 0xf3 27968 3dec 03 .uleb128 0x3 27969 3ded F5 .byte 0xf5 27970 3dee 02 .uleb128 0x2 27971 3def 29 .uleb128 0x29 27972 3df0 F7 .byte 0xf7 27973 3df1 30 .uleb128 0x30 27974 3df2 F7 .byte 0xf7 27975 3df3 00 .uleb128 0 27976 3df4 9F .byte 0x9f 27977 3df5 00000000 .4byte 0 27978 3df9 00000000 .4byte 0 27979 .LVUS318: 27980 3dfd 00 .uleb128 .LVU2447 27981 3dfe 00 .uleb128 .LVU2454 27982 3dff 00 .uleb128 .LVU2454 27983 3e00 00 .uleb128 .LVU2462 27984 3e01 00 .uleb128 .LVU2462 27985 3e02 00 .uleb128 .LVU2465 27986 3e03 00 .uleb128 .LVU2465 27987 3e04 00 .uleb128 .LVU2466 27988 3e05 00 .uleb128 .LVU2466 27989 3e06 00 .uleb128 .LVU2468 27990 3e07 00 .uleb128 .LVU2468 27991 3e08 00 .uleb128 0 27992 .LLST318: 27993 3e09 06000000 .4byte .LVL496 27994 3e0d 1C000000 .4byte .LVL500 ARM GAS /tmp/ccJhhmLc.s page 968 27995 3e11 0100 .2byte 0x1 27996 3e13 53 .byte 0x53 27997 3e14 1C000000 .4byte .LVL500 27998 3e18 38000000 .4byte .LVL501 27999 3e1c 0300 .2byte 0x3 28000 3e1e 70 .byte 0x70 28001 3e1f 9004 .sleb128 528 28002 3e21 38000000 .4byte .LVL501 28003 3e25 3E000000 .4byte .LVL503 28004 3e29 0A00 .2byte 0xa 28005 3e2b 74 .byte 0x74 28006 3e2c 00 .sleb128 0 28007 3e2d 4C .byte 0x4c 28008 3e2e 1E .byte 0x1e 28009 3e2f 75 .byte 0x75 28010 3e30 00 .sleb128 0 28011 3e31 22 .byte 0x22 28012 3e32 23 .byte 0x23 28013 3e33 9004 .uleb128 0x210 28014 3e35 3E000000 .4byte .LVL503 28015 3e39 42000000 .4byte .LVL504 28016 3e3d 0A00 .2byte 0xa 28017 3e3f F3 .byte 0xf3 28018 3e40 03 .uleb128 0x3 28019 3e41 F5 .byte 0xf5 28020 3e42 03 .uleb128 0x3 28021 3e43 29 .uleb128 0x29 28022 3e44 F7 .byte 0xf7 28023 3e45 30 .uleb128 0x30 28024 3e46 F7 .byte 0xf7 28025 3e47 00 .uleb128 0 28026 3e48 9F .byte 0x9f 28027 3e49 42000000 .4byte .LVL504 28028 3e4d 44000000 .4byte .LVL505 28029 3e51 0A00 .2byte 0xa 28030 3e53 74 .byte 0x74 28031 3e54 00 .sleb128 0 28032 3e55 4C .byte 0x4c 28033 3e56 1E .byte 0x1e 28034 3e57 75 .byte 0x75 28035 3e58 00 .sleb128 0 28036 3e59 22 .byte 0x22 28037 3e5a 23 .byte 0x23 28038 3e5b 9004 .uleb128 0x210 28039 3e5d 44000000 .4byte .LVL505 28040 3e61 48000000 .4byte .LFE150 28041 3e65 0A00 .2byte 0xa 28042 3e67 F3 .byte 0xf3 28043 3e68 03 .uleb128 0x3 28044 3e69 F5 .byte 0xf5 28045 3e6a 03 .uleb128 0x3 28046 3e6b 29 .uleb128 0x29 28047 3e6c F7 .byte 0xf7 28048 3e6d 30 .uleb128 0x30 28049 3e6e F7 .byte 0xf7 28050 3e6f 00 .uleb128 0 28051 3e70 9F .byte 0x9f ARM GAS /tmp/ccJhhmLc.s page 969 28052 3e71 00000000 .4byte 0 28053 3e75 00000000 .4byte 0 28054 .LVUS319: 28055 3e79 00 .uleb128 .LVU2452 28056 3e7a 00 .uleb128 .LVU2469 28057 .LLST319: 28058 3e7b 16000000 .4byte .LVL499 28059 3e7f 47000000 .4byte .LVL506-1 28060 3e83 0100 .2byte 0x1 28061 3e85 51 .byte 0x51 28062 3e86 00000000 .4byte 0 28063 3e8a 00000000 .4byte 0 28064 .LLST320: 28065 3e8e 00000000 .4byte .LFB153 28066 3e92 02000000 .4byte .LCFI63 28067 3e96 0200 .2byte 0x2 28068 3e98 7D .byte 0x7d 28069 3e99 00 .sleb128 0 28070 3e9a 02000000 .4byte .LCFI63 28071 3e9e 38000000 .4byte .LCFI64 28072 3ea2 0200 .2byte 0x2 28073 3ea4 7D .byte 0x7d 28074 3ea5 08 .sleb128 8 28075 3ea6 38000000 .4byte .LCFI64 28076 3eaa 3C000000 .4byte .LCFI65 28077 3eae 0200 .2byte 0x2 28078 3eb0 7D .byte 0x7d 28079 3eb1 00 .sleb128 0 28080 3eb2 3C000000 .4byte .LCFI65 28081 3eb6 3E000000 .4byte .LCFI66 28082 3eba 0200 .2byte 0x2 28083 3ebc 7D .byte 0x7d 28084 3ebd 08 .sleb128 8 28085 3ebe 3E000000 .4byte .LCFI66 28086 3ec2 42000000 .4byte .LFE153 28087 3ec6 0200 .2byte 0x2 28088 3ec8 7D .byte 0x7d 28089 3ec9 00 .sleb128 0 28090 3eca 00000000 .4byte 0 28091 3ece 00000000 .4byte 0 28092 .LVUS321: 28093 3ed2 00 .uleb128 0 28094 3ed3 00 .uleb128 .LVU2475 28095 3ed4 00 .uleb128 .LVU2475 28096 3ed5 00 .uleb128 0 28097 .LLST321: 28098 3ed6 00000000 .4byte .LVL507 28099 3eda 0C000000 .4byte .LVL509 28100 3ede 0100 .2byte 0x1 28101 3ee0 50 .byte 0x50 28102 3ee1 0C000000 .4byte .LVL509 28103 3ee5 42000000 .4byte .LFE153 28104 3ee9 0A00 .2byte 0xa 28105 3eeb F3 .byte 0xf3 28106 3eec 03 .uleb128 0x3 28107 3eed F5 .byte 0xf5 28108 3eee 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 970 28109 3eef 29 .uleb128 0x29 28110 3ef0 F7 .byte 0xf7 28111 3ef1 30 .uleb128 0x30 28112 3ef2 F7 .byte 0xf7 28113 3ef3 00 .uleb128 0 28114 3ef4 9F .byte 0x9f 28115 3ef5 00000000 .4byte 0 28116 3ef9 00000000 .4byte 0 28117 .LVUS322: 28118 3efd 00 .uleb128 0 28119 3efe 00 .uleb128 .LVU2476 28120 3eff 00 .uleb128 .LVU2476 28121 3f00 00 .uleb128 0 28122 .LLST322: 28123 3f01 00000000 .4byte .LVL507 28124 3f05 12000000 .4byte .LVL510 28125 3f09 0100 .2byte 0x1 28126 3f0b 51 .byte 0x51 28127 3f0c 12000000 .4byte .LVL510 28128 3f10 42000000 .4byte .LFE153 28129 3f14 0A00 .2byte 0xa 28130 3f16 F3 .byte 0xf3 28131 3f17 03 .uleb128 0x3 28132 3f18 F5 .byte 0xf5 28133 3f19 01 .uleb128 0x1 28134 3f1a 29 .uleb128 0x29 28135 3f1b F7 .byte 0xf7 28136 3f1c 37 .uleb128 0x37 28137 3f1d F7 .byte 0xf7 28138 3f1e 00 .uleb128 0 28139 3f1f 9F .byte 0x9f 28140 3f20 00000000 .4byte 0 28141 3f24 00000000 .4byte 0 28142 .LVUS323: 28143 3f28 00 .uleb128 0 28144 3f29 00 .uleb128 .LVU2489 28145 3f2a 00 .uleb128 .LVU2489 28146 3f2b 00 .uleb128 .LVU2491 28147 3f2c 00 .uleb128 .LVU2491 28148 3f2d 00 .uleb128 .LVU2492 28149 3f2e 00 .uleb128 .LVU2492 28150 3f2f 00 .uleb128 .LVU2494 28151 3f30 00 .uleb128 .LVU2494 28152 3f31 00 .uleb128 0 28153 .LLST323: 28154 3f32 00000000 .4byte .LVL507 28155 3f36 34000000 .4byte .LVL514 28156 3f3a 0100 .2byte 0x1 28157 3f3c 52 .byte 0x52 28158 3f3d 34000000 .4byte .LVL514 28159 3f41 38000000 .4byte .LVL515 28160 3f45 0900 .2byte 0x9 28161 3f47 74 .byte 0x74 28162 3f48 00 .sleb128 0 28163 3f49 4C .byte 0x4c 28164 3f4a 1E .byte 0x1e 28165 3f4b 75 .byte 0x75 ARM GAS /tmp/ccJhhmLc.s page 971 28166 3f4c 00 .sleb128 0 28167 3f4d 22 .byte 0x22 28168 3f4e 23 .byte 0x23 28169 3f4f 48 .uleb128 0x48 28170 3f50 38000000 .4byte .LVL515 28171 3f54 3C000000 .4byte .LVL516 28172 3f58 0A00 .2byte 0xa 28173 3f5a F3 .byte 0xf3 28174 3f5b 03 .uleb128 0x3 28175 3f5c F5 .byte 0xf5 28176 3f5d 02 .uleb128 0x2 28177 3f5e 29 .uleb128 0x29 28178 3f5f F7 .byte 0xf7 28179 3f60 30 .uleb128 0x30 28180 3f61 F7 .byte 0xf7 28181 3f62 00 .uleb128 0 28182 3f63 9F .byte 0x9f 28183 3f64 3C000000 .4byte .LVL516 28184 3f68 3E000000 .4byte .LVL517 28185 3f6c 0900 .2byte 0x9 28186 3f6e 74 .byte 0x74 28187 3f6f 00 .sleb128 0 28188 3f70 4C .byte 0x4c 28189 3f71 1E .byte 0x1e 28190 3f72 75 .byte 0x75 28191 3f73 00 .sleb128 0 28192 3f74 22 .byte 0x22 28193 3f75 23 .byte 0x23 28194 3f76 48 .uleb128 0x48 28195 3f77 3E000000 .4byte .LVL517 28196 3f7b 42000000 .4byte .LFE153 28197 3f7f 0A00 .2byte 0xa 28198 3f81 F3 .byte 0xf3 28199 3f82 03 .uleb128 0x3 28200 3f83 F5 .byte 0xf5 28201 3f84 02 .uleb128 0x2 28202 3f85 29 .uleb128 0x29 28203 3f86 F7 .byte 0xf7 28204 3f87 30 .uleb128 0x30 28205 3f88 F7 .byte 0xf7 28206 3f89 00 .uleb128 0 28207 3f8a 9F .byte 0x9f 28208 3f8b 00000000 .4byte 0 28209 3f8f 00000000 .4byte 0 28210 .LVUS324: 28211 3f93 00 .uleb128 0 28212 3f94 00 .uleb128 .LVU2480 28213 3f95 00 .uleb128 .LVU2480 28214 3f96 00 .uleb128 .LVU2488 28215 3f97 00 .uleb128 .LVU2488 28216 3f98 00 .uleb128 .LVU2491 28217 3f99 00 .uleb128 .LVU2491 28218 3f9a 00 .uleb128 .LVU2492 28219 3f9b 00 .uleb128 .LVU2492 28220 3f9c 00 .uleb128 .LVU2494 28221 3f9d 00 .uleb128 .LVU2494 28222 3f9e 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 972 28223 .LLST324: 28224 3f9f 00000000 .4byte .LVL507 28225 3fa3 1A000000 .4byte .LVL512 28226 3fa7 0100 .2byte 0x1 28227 3fa9 53 .byte 0x53 28228 3faa 1A000000 .4byte .LVL512 28229 3fae 32000000 .4byte .LVL513 28230 3fb2 0300 .2byte 0x3 28231 3fb4 70 .byte 0x70 28232 3fb5 D000 .sleb128 80 28233 3fb7 32000000 .4byte .LVL513 28234 3fbb 38000000 .4byte .LVL515 28235 3fbf 0900 .2byte 0x9 28236 3fc1 74 .byte 0x74 28237 3fc2 00 .sleb128 0 28238 3fc3 4C .byte 0x4c 28239 3fc4 1E .byte 0x1e 28240 3fc5 75 .byte 0x75 28241 3fc6 00 .sleb128 0 28242 3fc7 22 .byte 0x22 28243 3fc8 23 .byte 0x23 28244 3fc9 50 .uleb128 0x50 28245 3fca 38000000 .4byte .LVL515 28246 3fce 3C000000 .4byte .LVL516 28247 3fd2 0A00 .2byte 0xa 28248 3fd4 F3 .byte 0xf3 28249 3fd5 03 .uleb128 0x3 28250 3fd6 F5 .byte 0xf5 28251 3fd7 03 .uleb128 0x3 28252 3fd8 29 .uleb128 0x29 28253 3fd9 F7 .byte 0xf7 28254 3fda 30 .uleb128 0x30 28255 3fdb F7 .byte 0xf7 28256 3fdc 00 .uleb128 0 28257 3fdd 9F .byte 0x9f 28258 3fde 3C000000 .4byte .LVL516 28259 3fe2 3E000000 .4byte .LVL517 28260 3fe6 0900 .2byte 0x9 28261 3fe8 74 .byte 0x74 28262 3fe9 00 .sleb128 0 28263 3fea 4C .byte 0x4c 28264 3feb 1E .byte 0x1e 28265 3fec 75 .byte 0x75 28266 3fed 00 .sleb128 0 28267 3fee 22 .byte 0x22 28268 3fef 23 .byte 0x23 28269 3ff0 50 .uleb128 0x50 28270 3ff1 3E000000 .4byte .LVL517 28271 3ff5 42000000 .4byte .LFE153 28272 3ff9 0A00 .2byte 0xa 28273 3ffb F3 .byte 0xf3 28274 3ffc 03 .uleb128 0x3 28275 3ffd F5 .byte 0xf5 28276 3ffe 03 .uleb128 0x3 28277 3fff 29 .uleb128 0x29 28278 4000 F7 .byte 0xf7 28279 4001 30 .uleb128 0x30 ARM GAS /tmp/ccJhhmLc.s page 973 28280 4002 F7 .byte 0xf7 28281 4003 00 .uleb128 0 28282 4004 9F .byte 0x9f 28283 4005 00000000 .4byte 0 28284 4009 00000000 .4byte 0 28285 .LVUS325: 28286 400d 00 .uleb128 .LVU2473 28287 400e 00 .uleb128 .LVU2491 28288 400f 00 .uleb128 .LVU2492 28289 4010 00 .uleb128 .LVU2494 28290 .LLST325: 28291 4011 06000000 .4byte .LVL508 28292 4015 38000000 .4byte .LVL515 28293 4019 0100 .2byte 0x1 28294 401b 55 .byte 0x55 28295 401c 3C000000 .4byte .LVL516 28296 4020 3E000000 .4byte .LVL517 28297 4024 0100 .2byte 0x1 28298 4026 55 .byte 0x55 28299 4027 00000000 .4byte 0 28300 402b 00000000 .4byte 0 28301 .LVUS326: 28302 402f 00 .uleb128 .LVU2473 28303 4030 00 .uleb128 .LVU2476 28304 4031 00 .uleb128 .LVU2476 28305 4032 00 .uleb128 0 28306 .LLST326: 28307 4033 06000000 .4byte .LVL508 28308 4037 12000000 .4byte .LVL510 28309 403b 0100 .2byte 0x1 28310 403d 51 .byte 0x51 28311 403e 12000000 .4byte .LVL510 28312 4042 42000000 .4byte .LFE153 28313 4046 0A00 .2byte 0xa 28314 4048 F3 .byte 0xf3 28315 4049 03 .uleb128 0x3 28316 404a F5 .byte 0xf5 28317 404b 01 .uleb128 0x1 28318 404c 29 .uleb128 0x29 28319 404d F7 .byte 0xf7 28320 404e 37 .uleb128 0x37 28321 404f F7 .byte 0xf7 28322 4050 00 .uleb128 0 28323 4051 9F .byte 0x9f 28324 4052 00000000 .4byte 0 28325 4056 00000000 .4byte 0 28326 .LVUS327: 28327 405a 00 .uleb128 .LVU2473 28328 405b 00 .uleb128 .LVU2489 28329 405c 00 .uleb128 .LVU2489 28330 405d 00 .uleb128 .LVU2491 28331 405e 00 .uleb128 .LVU2491 28332 405f 00 .uleb128 .LVU2492 28333 4060 00 .uleb128 .LVU2492 28334 4061 00 .uleb128 .LVU2494 28335 4062 00 .uleb128 .LVU2494 28336 4063 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 974 28337 .LLST327: 28338 4064 06000000 .4byte .LVL508 28339 4068 34000000 .4byte .LVL514 28340 406c 0100 .2byte 0x1 28341 406e 52 .byte 0x52 28342 406f 34000000 .4byte .LVL514 28343 4073 38000000 .4byte .LVL515 28344 4077 0900 .2byte 0x9 28345 4079 74 .byte 0x74 28346 407a 00 .sleb128 0 28347 407b 4C .byte 0x4c 28348 407c 1E .byte 0x1e 28349 407d 75 .byte 0x75 28350 407e 00 .sleb128 0 28351 407f 22 .byte 0x22 28352 4080 23 .byte 0x23 28353 4081 48 .uleb128 0x48 28354 4082 38000000 .4byte .LVL515 28355 4086 3C000000 .4byte .LVL516 28356 408a 0A00 .2byte 0xa 28357 408c F3 .byte 0xf3 28358 408d 03 .uleb128 0x3 28359 408e F5 .byte 0xf5 28360 408f 02 .uleb128 0x2 28361 4090 29 .uleb128 0x29 28362 4091 F7 .byte 0xf7 28363 4092 30 .uleb128 0x30 28364 4093 F7 .byte 0xf7 28365 4094 00 .uleb128 0 28366 4095 9F .byte 0x9f 28367 4096 3C000000 .4byte .LVL516 28368 409a 3E000000 .4byte .LVL517 28369 409e 0900 .2byte 0x9 28370 40a0 74 .byte 0x74 28371 40a1 00 .sleb128 0 28372 40a2 4C .byte 0x4c 28373 40a3 1E .byte 0x1e 28374 40a4 75 .byte 0x75 28375 40a5 00 .sleb128 0 28376 40a6 22 .byte 0x22 28377 40a7 23 .byte 0x23 28378 40a8 48 .uleb128 0x48 28379 40a9 3E000000 .4byte .LVL517 28380 40ad 42000000 .4byte .LFE153 28381 40b1 0A00 .2byte 0xa 28382 40b3 F3 .byte 0xf3 28383 40b4 03 .uleb128 0x3 28384 40b5 F5 .byte 0xf5 28385 40b6 02 .uleb128 0x2 28386 40b7 29 .uleb128 0x29 28387 40b8 F7 .byte 0xf7 28388 40b9 30 .uleb128 0x30 28389 40ba F7 .byte 0xf7 28390 40bb 00 .uleb128 0 28391 40bc 9F .byte 0x9f 28392 40bd 00000000 .4byte 0 28393 40c1 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 975 28394 .LVUS328: 28395 40c5 00 .uleb128 .LVU2473 28396 40c6 00 .uleb128 .LVU2480 28397 40c7 00 .uleb128 .LVU2480 28398 40c8 00 .uleb128 .LVU2488 28399 40c9 00 .uleb128 .LVU2488 28400 40ca 00 .uleb128 .LVU2491 28401 40cb 00 .uleb128 .LVU2491 28402 40cc 00 .uleb128 .LVU2492 28403 40cd 00 .uleb128 .LVU2492 28404 40ce 00 .uleb128 .LVU2494 28405 40cf 00 .uleb128 .LVU2494 28406 40d0 00 .uleb128 0 28407 .LLST328: 28408 40d1 06000000 .4byte .LVL508 28409 40d5 1A000000 .4byte .LVL512 28410 40d9 0100 .2byte 0x1 28411 40db 53 .byte 0x53 28412 40dc 1A000000 .4byte .LVL512 28413 40e0 32000000 .4byte .LVL513 28414 40e4 0300 .2byte 0x3 28415 40e6 70 .byte 0x70 28416 40e7 D000 .sleb128 80 28417 40e9 32000000 .4byte .LVL513 28418 40ed 38000000 .4byte .LVL515 28419 40f1 0900 .2byte 0x9 28420 40f3 74 .byte 0x74 28421 40f4 00 .sleb128 0 28422 40f5 4C .byte 0x4c 28423 40f6 1E .byte 0x1e 28424 40f7 75 .byte 0x75 28425 40f8 00 .sleb128 0 28426 40f9 22 .byte 0x22 28427 40fa 23 .byte 0x23 28428 40fb 50 .uleb128 0x50 28429 40fc 38000000 .4byte .LVL515 28430 4100 3C000000 .4byte .LVL516 28431 4104 0A00 .2byte 0xa 28432 4106 F3 .byte 0xf3 28433 4107 03 .uleb128 0x3 28434 4108 F5 .byte 0xf5 28435 4109 03 .uleb128 0x3 28436 410a 29 .uleb128 0x29 28437 410b F7 .byte 0xf7 28438 410c 30 .uleb128 0x30 28439 410d F7 .byte 0xf7 28440 410e 00 .uleb128 0 28441 410f 9F .byte 0x9f 28442 4110 3C000000 .4byte .LVL516 28443 4114 3E000000 .4byte .LVL517 28444 4118 0900 .2byte 0x9 28445 411a 74 .byte 0x74 28446 411b 00 .sleb128 0 28447 411c 4C .byte 0x4c 28448 411d 1E .byte 0x1e 28449 411e 75 .byte 0x75 28450 411f 00 .sleb128 0 ARM GAS /tmp/ccJhhmLc.s page 976 28451 4120 22 .byte 0x22 28452 4121 23 .byte 0x23 28453 4122 50 .uleb128 0x50 28454 4123 3E000000 .4byte .LVL517 28455 4127 42000000 .4byte .LFE153 28456 412b 0A00 .2byte 0xa 28457 412d F3 .byte 0xf3 28458 412e 03 .uleb128 0x3 28459 412f F5 .byte 0xf5 28460 4130 03 .uleb128 0x3 28461 4131 29 .uleb128 0x29 28462 4132 F7 .byte 0xf7 28463 4133 30 .uleb128 0x30 28464 4134 F7 .byte 0xf7 28465 4135 00 .uleb128 0 28466 4136 9F .byte 0x9f 28467 4137 00000000 .4byte 0 28468 413b 00000000 .4byte 0 28469 .LVUS329: 28470 413f 00 .uleb128 .LVU2478 28471 4140 00 .uleb128 .LVU2495 28472 .LLST329: 28473 4141 16000000 .4byte .LVL511 28474 4145 41000000 .4byte .LVL518-1 28475 4149 0100 .2byte 0x1 28476 414b 51 .byte 0x51 28477 414c 00000000 .4byte 0 28478 4150 00000000 .4byte 0 28479 .LLST330: 28480 4154 00000000 .4byte .LFB156 28481 4158 0E000000 .4byte .LCFI67 28482 415c 0200 .2byte 0x2 28483 415e 7D .byte 0x7d 28484 415f 00 .sleb128 0 28485 4160 0E000000 .4byte .LCFI67 28486 4164 82000000 .4byte .LFE156 28487 4168 0200 .2byte 0x2 28488 416a 7D .byte 0x7d 28489 416b 08 .sleb128 8 28490 416c 00000000 .4byte 0 28491 4170 00000000 .4byte 0 28492 .LVUS331: 28493 4174 00 .uleb128 0 28494 4175 00 .uleb128 .LVU2498 28495 4176 00 .uleb128 .LVU2498 28496 4177 00 .uleb128 0 28497 .LLST331: 28498 4178 00000000 .4byte .LVL519 28499 417c 04000000 .4byte .LVL520 28500 4180 0100 .2byte 0x1 28501 4182 50 .byte 0x50 28502 4183 04000000 .4byte .LVL520 28503 4187 82000000 .4byte .LFE156 28504 418b 0A00 .2byte 0xa 28505 418d F3 .byte 0xf3 28506 418e 03 .uleb128 0x3 28507 418f F5 .byte 0xf5 ARM GAS /tmp/ccJhhmLc.s page 977 28508 4190 00 .uleb128 0 28509 4191 29 .uleb128 0x29 28510 4192 F7 .byte 0xf7 28511 4193 30 .uleb128 0x30 28512 4194 F7 .byte 0xf7 28513 4195 00 .uleb128 0 28514 4196 9F .byte 0x9f 28515 4197 00000000 .4byte 0 28516 419b 00000000 .4byte 0 28517 .LVUS332: 28518 419f 00 .uleb128 0 28519 41a0 00 .uleb128 .LVU2502 28520 41a1 00 .uleb128 .LVU2502 28521 41a2 00 .uleb128 0 28522 .LLST332: 28523 41a3 00000000 .4byte .LVL519 28524 41a7 1E000000 .4byte .LVL521 28525 41ab 0100 .2byte 0x1 28526 41ad 51 .byte 0x51 28527 41ae 1E000000 .4byte .LVL521 28528 41b2 82000000 .4byte .LFE156 28529 41b6 0A00 .2byte 0xa 28530 41b8 F3 .byte 0xf3 28531 41b9 03 .uleb128 0x3 28532 41ba F5 .byte 0xf5 28533 41bb 01 .uleb128 0x1 28534 41bc 29 .uleb128 0x29 28535 41bd F7 .byte 0xf7 28536 41be 37 .uleb128 0x37 28537 41bf F7 .byte 0xf7 28538 41c0 00 .uleb128 0 28539 41c1 9F .byte 0x9f 28540 41c2 00000000 .4byte 0 28541 41c6 00000000 .4byte 0 28542 .LVUS333: 28543 41ca 01 .uleb128 .LVU2497 28544 41cb 00 .uleb128 .LVU2531 28545 .LLST333: 28546 41cc 00000000 .4byte .LVL519 28547 41d0 80000000 .4byte .LVL527 28548 41d4 0200 .2byte 0x2 28549 41d6 30 .byte 0x30 28550 41d7 9F .byte 0x9f 28551 41d8 00000000 .4byte 0 28552 41dc 00000000 .4byte 0 28553 .LVUS335: 28554 41e0 00 .uleb128 .LVU2498 28555 41e1 00 .uleb128 .LVU2531 28556 .LLST335: 28557 41e2 04000000 .4byte .LVL520 28558 41e6 80000000 .4byte .LVL527 28559 41ea 0100 .2byte 0x1 28560 41ec 50 .byte 0x50 28561 41ed 00000000 .4byte 0 28562 41f1 00000000 .4byte 0 28563 .LVUS336: 28564 41f5 00 .uleb128 .LVU2498 ARM GAS /tmp/ccJhhmLc.s page 978 28565 41f6 00 .uleb128 .LVU2502 28566 41f7 00 .uleb128 .LVU2502 28567 41f8 00 .uleb128 .LVU2531 28568 .LLST336: 28569 41f9 04000000 .4byte .LVL520 28570 41fd 1E000000 .4byte .LVL521 28571 4201 0100 .2byte 0x1 28572 4203 51 .byte 0x51 28573 4204 1E000000 .4byte .LVL521 28574 4208 80000000 .4byte .LVL527 28575 420c 0A00 .2byte 0xa 28576 420e F3 .byte 0xf3 28577 420f 03 .uleb128 0x3 28578 4210 F5 .byte 0xf5 28579 4211 01 .uleb128 0x1 28580 4212 29 .uleb128 0x29 28581 4213 F7 .byte 0xf7 28582 4214 37 .uleb128 0x37 28583 4215 F7 .byte 0xf7 28584 4216 00 .uleb128 0 28585 4217 9F .byte 0x9f 28586 4218 00000000 .4byte 0 28587 421c 00000000 .4byte 0 28588 .LVUS337: 28589 4220 00 .uleb128 .LVU2506 28590 4221 00 .uleb128 .LVU2517 28591 4222 00 .uleb128 .LVU2517 28592 4223 00 .uleb128 .LVU2531 28593 .LLST337: 28594 4224 2A000000 .4byte .LVL522 28595 4228 52000000 .4byte .LVL524 28596 422c 0100 .2byte 0x1 28597 422e 53 .byte 0x53 28598 422f 52000000 .4byte .LVL524 28599 4233 80000000 .4byte .LVL527 28600 4237 3102 .2byte 0x231 28601 4239 F3 .byte 0xf3 28602 423a 03 .uleb128 0x3 28603 423b F5 .byte 0xf5 28604 423c 01 .uleb128 0x1 28605 423d 29 .uleb128 0x29 28606 423e F7 .byte 0xf7 28607 423f 30 .uleb128 0x30 28608 4240 F7 .byte 0xf7 28609 4241 00 .uleb128 0 28610 4242 3F .byte 0x3f 28611 4243 1A .byte 0x1a 28612 4244 4C .byte 0x4c 28613 4245 1E .byte 0x1e 28614 4246 23 .byte 0x23 28615 4247 3C .uleb128 0x3c 28616 4248 F3 .byte 0xf3 28617 4249 03 .uleb128 0x3 28618 424a F5 .byte 0xf5 28619 424b 01 .uleb128 0x1 28620 424c 29 .uleb128 0x29 28621 424d F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 979 28622 424e 30 .uleb128 0x30 28623 424f F7 .byte 0xf7 28624 4250 00 .uleb128 0 28625 4251 3F .byte 0x3f 28626 4252 1A .byte 0x1a 28627 4253 4C .byte 0x4c 28628 4254 1E .byte 0x1e 28629 4255 F3 .byte 0xf3 28630 4256 03 .uleb128 0x3 28631 4257 F5 .byte 0xf5 28632 4258 01 .uleb128 0x1 28633 4259 29 .uleb128 0x29 28634 425a F7 .byte 0xf7 28635 425b 30 .uleb128 0x30 28636 425c F7 .byte 0xf7 28637 425d 00 .uleb128 0 28638 425e 09 .byte 0x9 28639 425f FC .byte 0xfc 28640 4260 24 .byte 0x24 28641 4261 33 .byte 0x33 28642 4262 25 .byte 0x25 28643 4263 30 .byte 0x30 28644 4264 2E .byte 0x2e 28645 4265 28 .byte 0x28 28646 4266 0100 .2byte 0x1 28647 4268 16 .byte 0x16 28648 4269 13 .byte 0x13 28649 426a 23 .byte 0x23 28650 426b FC03 .uleb128 0x1fc 28651 426d F3 .byte 0xf3 28652 426e 03 .uleb128 0x3 28653 426f F5 .byte 0xf5 28654 4270 01 .uleb128 0x1 28655 4271 29 .uleb128 0x29 28656 4272 F7 .byte 0xf7 28657 4273 30 .uleb128 0x30 28658 4274 F7 .byte 0xf7 28659 4275 00 .uleb128 0 28660 4276 3F .byte 0x3f 28661 4277 1A .byte 0x1a 28662 4278 4C .byte 0x4c 28663 4279 1E .byte 0x1e 28664 427a 23 .byte 0x23 28665 427b 3C .uleb128 0x3c 28666 427c F3 .byte 0xf3 28667 427d 03 .uleb128 0x3 28668 427e F5 .byte 0xf5 28669 427f 01 .uleb128 0x1 28670 4280 29 .uleb128 0x29 28671 4281 F7 .byte 0xf7 28672 4282 30 .uleb128 0x30 28673 4283 F7 .byte 0xf7 28674 4284 00 .uleb128 0 28675 4285 3F .byte 0x3f 28676 4286 1A .byte 0x1a 28677 4287 4C .byte 0x4c 28678 4288 1E .byte 0x1e ARM GAS /tmp/ccJhhmLc.s page 980 28679 4289 F3 .byte 0xf3 28680 428a 03 .uleb128 0x3 28681 428b F5 .byte 0xf5 28682 428c 01 .uleb128 0x1 28683 428d 29 .uleb128 0x29 28684 428e F7 .byte 0xf7 28685 428f 30 .uleb128 0x30 28686 4290 F7 .byte 0xf7 28687 4291 00 .uleb128 0 28688 4292 09 .byte 0x9 28689 4293 FC .byte 0xfc 28690 4294 24 .byte 0x24 28691 4295 33 .byte 0x33 28692 4296 25 .byte 0x25 28693 4297 30 .byte 0x30 28694 4298 2E .byte 0x2e 28695 4299 28 .byte 0x28 28696 429a 0100 .2byte 0x1 28697 429c 16 .byte 0x16 28698 429d 13 .byte 0x13 28699 429e F3 .byte 0xf3 28700 429f 03 .uleb128 0x3 28701 42a0 F5 .byte 0xf5 28702 42a1 01 .uleb128 0x1 28703 42a2 29 .uleb128 0x29 28704 42a3 F7 .byte 0xf7 28705 42a4 30 .uleb128 0x30 28706 42a5 F7 .byte 0xf7 28707 42a6 00 .uleb128 0 28708 42a7 09 .byte 0x9 28709 42a8 FC .byte 0xfc 28710 42a9 24 .byte 0x24 28711 42aa 33 .byte 0x33 28712 42ab 25 .byte 0x25 28713 42ac 30 .byte 0x30 28714 42ad 29 .byte 0x29 28715 42ae 28 .byte 0x28 28716 42af 0100 .2byte 0x1 28717 42b1 16 .byte 0x16 28718 42b2 13 .byte 0x13 28719 42b3 70 .byte 0x70 28720 42b4 00 .sleb128 0 28721 42b5 22 .byte 0x22 28722 42b6 F3 .byte 0xf3 28723 42b7 03 .uleb128 0x3 28724 42b8 F5 .byte 0xf5 28725 42b9 01 .uleb128 0x1 28726 42ba 29 .uleb128 0x29 28727 42bb F7 .byte 0xf7 28728 42bc 30 .uleb128 0x30 28729 42bd F7 .byte 0xf7 28730 42be 00 .uleb128 0 28731 42bf 3F .byte 0x3f 28732 42c0 1A .byte 0x1a 28733 42c1 4C .byte 0x4c 28734 42c2 1E .byte 0x1e 28735 42c3 23 .byte 0x23 ARM GAS /tmp/ccJhhmLc.s page 981 28736 42c4 3C .uleb128 0x3c 28737 42c5 F3 .byte 0xf3 28738 42c6 03 .uleb128 0x3 28739 42c7 F5 .byte 0xf5 28740 42c8 01 .uleb128 0x1 28741 42c9 29 .uleb128 0x29 28742 42ca F7 .byte 0xf7 28743 42cb 30 .uleb128 0x30 28744 42cc F7 .byte 0xf7 28745 42cd 00 .uleb128 0 28746 42ce 3F .byte 0x3f 28747 42cf 1A .byte 0x1a 28748 42d0 4C .byte 0x4c 28749 42d1 1E .byte 0x1e 28750 42d2 F3 .byte 0xf3 28751 42d3 03 .uleb128 0x3 28752 42d4 F5 .byte 0xf5 28753 42d5 01 .uleb128 0x1 28754 42d6 29 .uleb128 0x29 28755 42d7 F7 .byte 0xf7 28756 42d8 30 .uleb128 0x30 28757 42d9 F7 .byte 0xf7 28758 42da 00 .uleb128 0 28759 42db 09 .byte 0x9 28760 42dc FC .byte 0xfc 28761 42dd 24 .byte 0x24 28762 42de 33 .byte 0x33 28763 42df 25 .byte 0x25 28764 42e0 30 .byte 0x30 28765 42e1 2E .byte 0x2e 28766 42e2 28 .byte 0x28 28767 42e3 0100 .2byte 0x1 28768 42e5 16 .byte 0x16 28769 42e6 13 .byte 0x13 28770 42e7 23 .byte 0x23 28771 42e8 FC03 .uleb128 0x1fc 28772 42ea F3 .byte 0xf3 28773 42eb 03 .uleb128 0x3 28774 42ec F5 .byte 0xf5 28775 42ed 01 .uleb128 0x1 28776 42ee 29 .uleb128 0x29 28777 42ef F7 .byte 0xf7 28778 42f0 30 .uleb128 0x30 28779 42f1 F7 .byte 0xf7 28780 42f2 00 .uleb128 0 28781 42f3 3F .byte 0x3f 28782 42f4 1A .byte 0x1a 28783 42f5 4C .byte 0x4c 28784 42f6 1E .byte 0x1e 28785 42f7 23 .byte 0x23 28786 42f8 3C .uleb128 0x3c 28787 42f9 F3 .byte 0xf3 28788 42fa 03 .uleb128 0x3 28789 42fb F5 .byte 0xf5 28790 42fc 01 .uleb128 0x1 28791 42fd 29 .uleb128 0x29 28792 42fe F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 982 28793 42ff 30 .uleb128 0x30 28794 4300 F7 .byte 0xf7 28795 4301 00 .uleb128 0 28796 4302 3F .byte 0x3f 28797 4303 1A .byte 0x1a 28798 4304 4C .byte 0x4c 28799 4305 1E .byte 0x1e 28800 4306 F3 .byte 0xf3 28801 4307 03 .uleb128 0x3 28802 4308 F5 .byte 0xf5 28803 4309 01 .uleb128 0x1 28804 430a 29 .uleb128 0x29 28805 430b F7 .byte 0xf7 28806 430c 30 .uleb128 0x30 28807 430d F7 .byte 0xf7 28808 430e 00 .uleb128 0 28809 430f 09 .byte 0x9 28810 4310 FC .byte 0xfc 28811 4311 24 .byte 0x24 28812 4312 33 .byte 0x33 28813 4313 25 .byte 0x25 28814 4314 30 .byte 0x30 28815 4315 2E .byte 0x2e 28816 4316 28 .byte 0x28 28817 4317 0100 .2byte 0x1 28818 4319 16 .byte 0x16 28819 431a 13 .byte 0x13 28820 431b F3 .byte 0xf3 28821 431c 03 .uleb128 0x3 28822 431d F5 .byte 0xf5 28823 431e 01 .uleb128 0x1 28824 431f 29 .uleb128 0x29 28825 4320 F7 .byte 0xf7 28826 4321 30 .uleb128 0x30 28827 4322 F7 .byte 0xf7 28828 4323 00 .uleb128 0 28829 4324 09 .byte 0x9 28830 4325 FC .byte 0xfc 28831 4326 24 .byte 0x24 28832 4327 33 .byte 0x33 28833 4328 25 .byte 0x25 28834 4329 30 .byte 0x30 28835 432a 29 .byte 0x29 28836 432b 28 .byte 0x28 28837 432c 0100 .2byte 0x1 28838 432e 16 .byte 0x16 28839 432f 13 .byte 0x13 28840 4330 F3 .byte 0xf3 28841 4331 03 .uleb128 0x3 28842 4332 F5 .byte 0xf5 28843 4333 01 .uleb128 0x1 28844 4334 29 .uleb128 0x29 28845 4335 F7 .byte 0xf7 28846 4336 30 .uleb128 0x30 28847 4337 F7 .byte 0xf7 28848 4338 00 .uleb128 0 28849 4339 09 .byte 0x9 ARM GAS /tmp/ccJhhmLc.s page 983 28850 433a FC .byte 0xfc 28851 433b 24 .byte 0x24 28852 433c 33 .byte 0x33 28853 433d 25 .byte 0x25 28854 433e 30 .byte 0x30 28855 433f 2E .byte 0x2e 28856 4340 28 .byte 0x28 28857 4341 0100 .2byte 0x1 28858 4343 16 .byte 0x16 28859 4344 13 .byte 0x13 28860 4345 70 .byte 0x70 28861 4346 00 .sleb128 0 28862 4347 22 .byte 0x22 28863 4348 F3 .byte 0xf3 28864 4349 03 .uleb128 0x3 28865 434a F5 .byte 0xf5 28866 434b 01 .uleb128 0x1 28867 434c 29 .uleb128 0x29 28868 434d F7 .byte 0xf7 28869 434e 30 .uleb128 0x30 28870 434f F7 .byte 0xf7 28871 4350 00 .uleb128 0 28872 4351 3F .byte 0x3f 28873 4352 1A .byte 0x1a 28874 4353 4C .byte 0x4c 28875 4354 1E .byte 0x1e 28876 4355 23 .byte 0x23 28877 4356 3C .uleb128 0x3c 28878 4357 F3 .byte 0xf3 28879 4358 03 .uleb128 0x3 28880 4359 F5 .byte 0xf5 28881 435a 01 .uleb128 0x1 28882 435b 29 .uleb128 0x29 28883 435c F7 .byte 0xf7 28884 435d 30 .uleb128 0x30 28885 435e F7 .byte 0xf7 28886 435f 00 .uleb128 0 28887 4360 3F .byte 0x3f 28888 4361 1A .byte 0x1a 28889 4362 4C .byte 0x4c 28890 4363 1E .byte 0x1e 28891 4364 F3 .byte 0xf3 28892 4365 03 .uleb128 0x3 28893 4366 F5 .byte 0xf5 28894 4367 01 .uleb128 0x1 28895 4368 29 .uleb128 0x29 28896 4369 F7 .byte 0xf7 28897 436a 30 .uleb128 0x30 28898 436b F7 .byte 0xf7 28899 436c 00 .uleb128 0 28900 436d 09 .byte 0x9 28901 436e FC .byte 0xfc 28902 436f 24 .byte 0x24 28903 4370 33 .byte 0x33 28904 4371 25 .byte 0x25 28905 4372 30 .byte 0x30 28906 4373 2E .byte 0x2e ARM GAS /tmp/ccJhhmLc.s page 984 28907 4374 28 .byte 0x28 28908 4375 0100 .2byte 0x1 28909 4377 16 .byte 0x16 28910 4378 13 .byte 0x13 28911 4379 23 .byte 0x23 28912 437a FC03 .uleb128 0x1fc 28913 437c F3 .byte 0xf3 28914 437d 03 .uleb128 0x3 28915 437e F5 .byte 0xf5 28916 437f 01 .uleb128 0x1 28917 4380 29 .uleb128 0x29 28918 4381 F7 .byte 0xf7 28919 4382 30 .uleb128 0x30 28920 4383 F7 .byte 0xf7 28921 4384 00 .uleb128 0 28922 4385 3F .byte 0x3f 28923 4386 1A .byte 0x1a 28924 4387 4C .byte 0x4c 28925 4388 1E .byte 0x1e 28926 4389 23 .byte 0x23 28927 438a 3C .uleb128 0x3c 28928 438b F3 .byte 0xf3 28929 438c 03 .uleb128 0x3 28930 438d F5 .byte 0xf5 28931 438e 01 .uleb128 0x1 28932 438f 29 .uleb128 0x29 28933 4390 F7 .byte 0xf7 28934 4391 30 .uleb128 0x30 28935 4392 F7 .byte 0xf7 28936 4393 00 .uleb128 0 28937 4394 3F .byte 0x3f 28938 4395 1A .byte 0x1a 28939 4396 4C .byte 0x4c 28940 4397 1E .byte 0x1e 28941 4398 F3 .byte 0xf3 28942 4399 03 .uleb128 0x3 28943 439a F5 .byte 0xf5 28944 439b 01 .uleb128 0x1 28945 439c 29 .uleb128 0x29 28946 439d F7 .byte 0xf7 28947 439e 30 .uleb128 0x30 28948 439f F7 .byte 0xf7 28949 43a0 00 .uleb128 0 28950 43a1 09 .byte 0x9 28951 43a2 FC .byte 0xfc 28952 43a3 24 .byte 0x24 28953 43a4 33 .byte 0x33 28954 43a5 25 .byte 0x25 28955 43a6 30 .byte 0x30 28956 43a7 2E .byte 0x2e 28957 43a8 28 .byte 0x28 28958 43a9 0100 .2byte 0x1 28959 43ab 16 .byte 0x16 28960 43ac 13 .byte 0x13 28961 43ad F3 .byte 0xf3 28962 43ae 03 .uleb128 0x3 28963 43af F5 .byte 0xf5 ARM GAS /tmp/ccJhhmLc.s page 985 28964 43b0 01 .uleb128 0x1 28965 43b1 29 .uleb128 0x29 28966 43b2 F7 .byte 0xf7 28967 43b3 30 .uleb128 0x30 28968 43b4 F7 .byte 0xf7 28969 43b5 00 .uleb128 0 28970 43b6 09 .byte 0x9 28971 43b7 FC .byte 0xfc 28972 43b8 24 .byte 0x24 28973 43b9 33 .byte 0x33 28974 43ba 25 .byte 0x25 28975 43bb 30 .byte 0x30 28976 43bc 29 .byte 0x29 28977 43bd 28 .byte 0x28 28978 43be 0100 .2byte 0x1 28979 43c0 16 .byte 0x16 28980 43c1 13 .byte 0x13 28981 43c2 70 .byte 0x70 28982 43c3 00 .sleb128 0 28983 43c4 22 .byte 0x22 28984 43c5 F3 .byte 0xf3 28985 43c6 03 .uleb128 0x3 28986 43c7 F5 .byte 0xf5 28987 43c8 01 .uleb128 0x1 28988 43c9 29 .uleb128 0x29 28989 43ca F7 .byte 0xf7 28990 43cb 30 .uleb128 0x30 28991 43cc F7 .byte 0xf7 28992 43cd 00 .uleb128 0 28993 43ce 3F .byte 0x3f 28994 43cf 1A .byte 0x1a 28995 43d0 4C .byte 0x4c 28996 43d1 1E .byte 0x1e 28997 43d2 23 .byte 0x23 28998 43d3 3C .uleb128 0x3c 28999 43d4 F3 .byte 0xf3 29000 43d5 03 .uleb128 0x3 29001 43d6 F5 .byte 0xf5 29002 43d7 01 .uleb128 0x1 29003 43d8 29 .uleb128 0x29 29004 43d9 F7 .byte 0xf7 29005 43da 30 .uleb128 0x30 29006 43db F7 .byte 0xf7 29007 43dc 00 .uleb128 0 29008 43dd 3F .byte 0x3f 29009 43de 1A .byte 0x1a 29010 43df 4C .byte 0x4c 29011 43e0 1E .byte 0x1e 29012 43e1 F3 .byte 0xf3 29013 43e2 03 .uleb128 0x3 29014 43e3 F5 .byte 0xf5 29015 43e4 01 .uleb128 0x1 29016 43e5 29 .uleb128 0x29 29017 43e6 F7 .byte 0xf7 29018 43e7 30 .uleb128 0x30 29019 43e8 F7 .byte 0xf7 29020 43e9 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 986 29021 43ea 09 .byte 0x9 29022 43eb FC .byte 0xfc 29023 43ec 24 .byte 0x24 29024 43ed 33 .byte 0x33 29025 43ee 25 .byte 0x25 29026 43ef 30 .byte 0x30 29027 43f0 2E .byte 0x2e 29028 43f1 28 .byte 0x28 29029 43f2 0100 .2byte 0x1 29030 43f4 16 .byte 0x16 29031 43f5 13 .byte 0x13 29032 43f6 23 .byte 0x23 29033 43f7 FC03 .uleb128 0x1fc 29034 43f9 F3 .byte 0xf3 29035 43fa 03 .uleb128 0x3 29036 43fb F5 .byte 0xf5 29037 43fc 01 .uleb128 0x1 29038 43fd 29 .uleb128 0x29 29039 43fe F7 .byte 0xf7 29040 43ff 30 .uleb128 0x30 29041 4400 F7 .byte 0xf7 29042 4401 00 .uleb128 0 29043 4402 3F .byte 0x3f 29044 4403 1A .byte 0x1a 29045 4404 4C .byte 0x4c 29046 4405 1E .byte 0x1e 29047 4406 23 .byte 0x23 29048 4407 3C .uleb128 0x3c 29049 4408 F3 .byte 0xf3 29050 4409 03 .uleb128 0x3 29051 440a F5 .byte 0xf5 29052 440b 01 .uleb128 0x1 29053 440c 29 .uleb128 0x29 29054 440d F7 .byte 0xf7 29055 440e 30 .uleb128 0x30 29056 440f F7 .byte 0xf7 29057 4410 00 .uleb128 0 29058 4411 3F .byte 0x3f 29059 4412 1A .byte 0x1a 29060 4413 4C .byte 0x4c 29061 4414 1E .byte 0x1e 29062 4415 F3 .byte 0xf3 29063 4416 03 .uleb128 0x3 29064 4417 F5 .byte 0xf5 29065 4418 01 .uleb128 0x1 29066 4419 29 .uleb128 0x29 29067 441a F7 .byte 0xf7 29068 441b 30 .uleb128 0x30 29069 441c F7 .byte 0xf7 29070 441d 00 .uleb128 0 29071 441e 09 .byte 0x9 29072 441f FC .byte 0xfc 29073 4420 24 .byte 0x24 29074 4421 33 .byte 0x33 29075 4422 25 .byte 0x25 29076 4423 30 .byte 0x30 29077 4424 2E .byte 0x2e ARM GAS /tmp/ccJhhmLc.s page 987 29078 4425 28 .byte 0x28 29079 4426 0100 .2byte 0x1 29080 4428 16 .byte 0x16 29081 4429 13 .byte 0x13 29082 442a F3 .byte 0xf3 29083 442b 03 .uleb128 0x3 29084 442c F5 .byte 0xf5 29085 442d 01 .uleb128 0x1 29086 442e 29 .uleb128 0x29 29087 442f F7 .byte 0xf7 29088 4430 30 .uleb128 0x30 29089 4431 F7 .byte 0xf7 29090 4432 00 .uleb128 0 29091 4433 09 .byte 0x9 29092 4434 FC .byte 0xfc 29093 4435 24 .byte 0x24 29094 4436 33 .byte 0x33 29095 4437 25 .byte 0x25 29096 4438 30 .byte 0x30 29097 4439 29 .byte 0x29 29098 443a 28 .byte 0x28 29099 443b 0100 .2byte 0x1 29100 443d 16 .byte 0x16 29101 443e 13 .byte 0x13 29102 443f F3 .byte 0xf3 29103 4440 03 .uleb128 0x3 29104 4441 F5 .byte 0xf5 29105 4442 01 .uleb128 0x1 29106 4443 29 .uleb128 0x29 29107 4444 F7 .byte 0xf7 29108 4445 30 .uleb128 0x30 29109 4446 F7 .byte 0xf7 29110 4447 00 .uleb128 0 29111 4448 09 .byte 0x9 29112 4449 FC .byte 0xfc 29113 444a 24 .byte 0x24 29114 444b 33 .byte 0x33 29115 444c 25 .byte 0x25 29116 444d 30 .byte 0x30 29117 444e 2E .byte 0x2e 29118 444f 28 .byte 0x28 29119 4450 0100 .2byte 0x1 29120 4452 16 .byte 0x16 29121 4453 13 .byte 0x13 29122 4454 F3 .byte 0xf3 29123 4455 03 .uleb128 0x3 29124 4456 F5 .byte 0xf5 29125 4457 01 .uleb128 0x1 29126 4458 29 .uleb128 0x29 29127 4459 F7 .byte 0xf7 29128 445a 30 .uleb128 0x30 29129 445b F7 .byte 0xf7 29130 445c 00 .uleb128 0 29131 445d 09 .byte 0x9 29132 445e FC .byte 0xfc 29133 445f 24 .byte 0x24 29134 4460 33 .byte 0x33 ARM GAS /tmp/ccJhhmLc.s page 988 29135 4461 25 .byte 0x25 29136 4462 30 .byte 0x30 29137 4463 29 .byte 0x29 29138 4464 28 .byte 0x28 29139 4465 0100 .2byte 0x1 29140 4467 16 .byte 0x16 29141 4468 13 .byte 0x13 29142 4469 9F .byte 0x9f 29143 446a 00000000 .4byte 0 29144 446e 00000000 .4byte 0 29145 .LVUS338: 29146 4472 00 .uleb128 .LVU2514 29147 4473 00 .uleb128 .LVU2517 29148 4474 00 .uleb128 .LVU2517 29149 4475 00 .uleb128 .LVU2529 29150 .LLST338: 29151 4476 4C000000 .4byte .LVL523 29152 447a 52000000 .4byte .LVL524 29153 447e 0100 .2byte 0x1 29154 4480 53 .byte 0x53 29155 4481 52000000 .4byte .LVL524 29156 4485 7A000000 .4byte .LVL526 29157 4489 3102 .2byte 0x231 29158 448b F3 .byte 0xf3 29159 448c 03 .uleb128 0x3 29160 448d F5 .byte 0xf5 29161 448e 01 .uleb128 0x1 29162 448f 29 .uleb128 0x29 29163 4490 F7 .byte 0xf7 29164 4491 30 .uleb128 0x30 29165 4492 F7 .byte 0xf7 29166 4493 00 .uleb128 0 29167 4494 3F .byte 0x3f 29168 4495 1A .byte 0x1a 29169 4496 4C .byte 0x4c 29170 4497 1E .byte 0x1e 29171 4498 23 .byte 0x23 29172 4499 3C .uleb128 0x3c 29173 449a F3 .byte 0xf3 29174 449b 03 .uleb128 0x3 29175 449c F5 .byte 0xf5 29176 449d 01 .uleb128 0x1 29177 449e 29 .uleb128 0x29 29178 449f F7 .byte 0xf7 29179 44a0 30 .uleb128 0x30 29180 44a1 F7 .byte 0xf7 29181 44a2 00 .uleb128 0 29182 44a3 3F .byte 0x3f 29183 44a4 1A .byte 0x1a 29184 44a5 4C .byte 0x4c 29185 44a6 1E .byte 0x1e 29186 44a7 F3 .byte 0xf3 29187 44a8 03 .uleb128 0x3 29188 44a9 F5 .byte 0xf5 29189 44aa 01 .uleb128 0x1 29190 44ab 29 .uleb128 0x29 29191 44ac F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 989 29192 44ad 30 .uleb128 0x30 29193 44ae F7 .byte 0xf7 29194 44af 00 .uleb128 0 29195 44b0 09 .byte 0x9 29196 44b1 FC .byte 0xfc 29197 44b2 24 .byte 0x24 29198 44b3 33 .byte 0x33 29199 44b4 25 .byte 0x25 29200 44b5 30 .byte 0x30 29201 44b6 2E .byte 0x2e 29202 44b7 28 .byte 0x28 29203 44b8 0100 .2byte 0x1 29204 44ba 16 .byte 0x16 29205 44bb 13 .byte 0x13 29206 44bc 23 .byte 0x23 29207 44bd FC03 .uleb128 0x1fc 29208 44bf F3 .byte 0xf3 29209 44c0 03 .uleb128 0x3 29210 44c1 F5 .byte 0xf5 29211 44c2 01 .uleb128 0x1 29212 44c3 29 .uleb128 0x29 29213 44c4 F7 .byte 0xf7 29214 44c5 30 .uleb128 0x30 29215 44c6 F7 .byte 0xf7 29216 44c7 00 .uleb128 0 29217 44c8 3F .byte 0x3f 29218 44c9 1A .byte 0x1a 29219 44ca 4C .byte 0x4c 29220 44cb 1E .byte 0x1e 29221 44cc 23 .byte 0x23 29222 44cd 3C .uleb128 0x3c 29223 44ce F3 .byte 0xf3 29224 44cf 03 .uleb128 0x3 29225 44d0 F5 .byte 0xf5 29226 44d1 01 .uleb128 0x1 29227 44d2 29 .uleb128 0x29 29228 44d3 F7 .byte 0xf7 29229 44d4 30 .uleb128 0x30 29230 44d5 F7 .byte 0xf7 29231 44d6 00 .uleb128 0 29232 44d7 3F .byte 0x3f 29233 44d8 1A .byte 0x1a 29234 44d9 4C .byte 0x4c 29235 44da 1E .byte 0x1e 29236 44db F3 .byte 0xf3 29237 44dc 03 .uleb128 0x3 29238 44dd F5 .byte 0xf5 29239 44de 01 .uleb128 0x1 29240 44df 29 .uleb128 0x29 29241 44e0 F7 .byte 0xf7 29242 44e1 30 .uleb128 0x30 29243 44e2 F7 .byte 0xf7 29244 44e3 00 .uleb128 0 29245 44e4 09 .byte 0x9 29246 44e5 FC .byte 0xfc 29247 44e6 24 .byte 0x24 29248 44e7 33 .byte 0x33 ARM GAS /tmp/ccJhhmLc.s page 990 29249 44e8 25 .byte 0x25 29250 44e9 30 .byte 0x30 29251 44ea 2E .byte 0x2e 29252 44eb 28 .byte 0x28 29253 44ec 0100 .2byte 0x1 29254 44ee 16 .byte 0x16 29255 44ef 13 .byte 0x13 29256 44f0 F3 .byte 0xf3 29257 44f1 03 .uleb128 0x3 29258 44f2 F5 .byte 0xf5 29259 44f3 01 .uleb128 0x1 29260 44f4 29 .uleb128 0x29 29261 44f5 F7 .byte 0xf7 29262 44f6 30 .uleb128 0x30 29263 44f7 F7 .byte 0xf7 29264 44f8 00 .uleb128 0 29265 44f9 09 .byte 0x9 29266 44fa FC .byte 0xfc 29267 44fb 24 .byte 0x24 29268 44fc 33 .byte 0x33 29269 44fd 25 .byte 0x25 29270 44fe 30 .byte 0x30 29271 44ff 29 .byte 0x29 29272 4500 28 .byte 0x28 29273 4501 0100 .2byte 0x1 29274 4503 16 .byte 0x16 29275 4504 13 .byte 0x13 29276 4505 70 .byte 0x70 29277 4506 00 .sleb128 0 29278 4507 22 .byte 0x22 29279 4508 F3 .byte 0xf3 29280 4509 03 .uleb128 0x3 29281 450a F5 .byte 0xf5 29282 450b 01 .uleb128 0x1 29283 450c 29 .uleb128 0x29 29284 450d F7 .byte 0xf7 29285 450e 30 .uleb128 0x30 29286 450f F7 .byte 0xf7 29287 4510 00 .uleb128 0 29288 4511 3F .byte 0x3f 29289 4512 1A .byte 0x1a 29290 4513 4C .byte 0x4c 29291 4514 1E .byte 0x1e 29292 4515 23 .byte 0x23 29293 4516 3C .uleb128 0x3c 29294 4517 F3 .byte 0xf3 29295 4518 03 .uleb128 0x3 29296 4519 F5 .byte 0xf5 29297 451a 01 .uleb128 0x1 29298 451b 29 .uleb128 0x29 29299 451c F7 .byte 0xf7 29300 451d 30 .uleb128 0x30 29301 451e F7 .byte 0xf7 29302 451f 00 .uleb128 0 29303 4520 3F .byte 0x3f 29304 4521 1A .byte 0x1a 29305 4522 4C .byte 0x4c ARM GAS /tmp/ccJhhmLc.s page 991 29306 4523 1E .byte 0x1e 29307 4524 F3 .byte 0xf3 29308 4525 03 .uleb128 0x3 29309 4526 F5 .byte 0xf5 29310 4527 01 .uleb128 0x1 29311 4528 29 .uleb128 0x29 29312 4529 F7 .byte 0xf7 29313 452a 30 .uleb128 0x30 29314 452b F7 .byte 0xf7 29315 452c 00 .uleb128 0 29316 452d 09 .byte 0x9 29317 452e FC .byte 0xfc 29318 452f 24 .byte 0x24 29319 4530 33 .byte 0x33 29320 4531 25 .byte 0x25 29321 4532 30 .byte 0x30 29322 4533 2E .byte 0x2e 29323 4534 28 .byte 0x28 29324 4535 0100 .2byte 0x1 29325 4537 16 .byte 0x16 29326 4538 13 .byte 0x13 29327 4539 23 .byte 0x23 29328 453a FC03 .uleb128 0x1fc 29329 453c F3 .byte 0xf3 29330 453d 03 .uleb128 0x3 29331 453e F5 .byte 0xf5 29332 453f 01 .uleb128 0x1 29333 4540 29 .uleb128 0x29 29334 4541 F7 .byte 0xf7 29335 4542 30 .uleb128 0x30 29336 4543 F7 .byte 0xf7 29337 4544 00 .uleb128 0 29338 4545 3F .byte 0x3f 29339 4546 1A .byte 0x1a 29340 4547 4C .byte 0x4c 29341 4548 1E .byte 0x1e 29342 4549 23 .byte 0x23 29343 454a 3C .uleb128 0x3c 29344 454b F3 .byte 0xf3 29345 454c 03 .uleb128 0x3 29346 454d F5 .byte 0xf5 29347 454e 01 .uleb128 0x1 29348 454f 29 .uleb128 0x29 29349 4550 F7 .byte 0xf7 29350 4551 30 .uleb128 0x30 29351 4552 F7 .byte 0xf7 29352 4553 00 .uleb128 0 29353 4554 3F .byte 0x3f 29354 4555 1A .byte 0x1a 29355 4556 4C .byte 0x4c 29356 4557 1E .byte 0x1e 29357 4558 F3 .byte 0xf3 29358 4559 03 .uleb128 0x3 29359 455a F5 .byte 0xf5 29360 455b 01 .uleb128 0x1 29361 455c 29 .uleb128 0x29 29362 455d F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 992 29363 455e 30 .uleb128 0x30 29364 455f F7 .byte 0xf7 29365 4560 00 .uleb128 0 29366 4561 09 .byte 0x9 29367 4562 FC .byte 0xfc 29368 4563 24 .byte 0x24 29369 4564 33 .byte 0x33 29370 4565 25 .byte 0x25 29371 4566 30 .byte 0x30 29372 4567 2E .byte 0x2e 29373 4568 28 .byte 0x28 29374 4569 0100 .2byte 0x1 29375 456b 16 .byte 0x16 29376 456c 13 .byte 0x13 29377 456d F3 .byte 0xf3 29378 456e 03 .uleb128 0x3 29379 456f F5 .byte 0xf5 29380 4570 01 .uleb128 0x1 29381 4571 29 .uleb128 0x29 29382 4572 F7 .byte 0xf7 29383 4573 30 .uleb128 0x30 29384 4574 F7 .byte 0xf7 29385 4575 00 .uleb128 0 29386 4576 09 .byte 0x9 29387 4577 FC .byte 0xfc 29388 4578 24 .byte 0x24 29389 4579 33 .byte 0x33 29390 457a 25 .byte 0x25 29391 457b 30 .byte 0x30 29392 457c 29 .byte 0x29 29393 457d 28 .byte 0x28 29394 457e 0100 .2byte 0x1 29395 4580 16 .byte 0x16 29396 4581 13 .byte 0x13 29397 4582 F3 .byte 0xf3 29398 4583 03 .uleb128 0x3 29399 4584 F5 .byte 0xf5 29400 4585 01 .uleb128 0x1 29401 4586 29 .uleb128 0x29 29402 4587 F7 .byte 0xf7 29403 4588 30 .uleb128 0x30 29404 4589 F7 .byte 0xf7 29405 458a 00 .uleb128 0 29406 458b 09 .byte 0x9 29407 458c FC .byte 0xfc 29408 458d 24 .byte 0x24 29409 458e 33 .byte 0x33 29410 458f 25 .byte 0x25 29411 4590 30 .byte 0x30 29412 4591 2E .byte 0x2e 29413 4592 28 .byte 0x28 29414 4593 0100 .2byte 0x1 29415 4595 16 .byte 0x16 29416 4596 13 .byte 0x13 29417 4597 70 .byte 0x70 29418 4598 00 .sleb128 0 29419 4599 22 .byte 0x22 ARM GAS /tmp/ccJhhmLc.s page 993 29420 459a F3 .byte 0xf3 29421 459b 03 .uleb128 0x3 29422 459c F5 .byte 0xf5 29423 459d 01 .uleb128 0x1 29424 459e 29 .uleb128 0x29 29425 459f F7 .byte 0xf7 29426 45a0 30 .uleb128 0x30 29427 45a1 F7 .byte 0xf7 29428 45a2 00 .uleb128 0 29429 45a3 3F .byte 0x3f 29430 45a4 1A .byte 0x1a 29431 45a5 4C .byte 0x4c 29432 45a6 1E .byte 0x1e 29433 45a7 23 .byte 0x23 29434 45a8 3C .uleb128 0x3c 29435 45a9 F3 .byte 0xf3 29436 45aa 03 .uleb128 0x3 29437 45ab F5 .byte 0xf5 29438 45ac 01 .uleb128 0x1 29439 45ad 29 .uleb128 0x29 29440 45ae F7 .byte 0xf7 29441 45af 30 .uleb128 0x30 29442 45b0 F7 .byte 0xf7 29443 45b1 00 .uleb128 0 29444 45b2 3F .byte 0x3f 29445 45b3 1A .byte 0x1a 29446 45b4 4C .byte 0x4c 29447 45b5 1E .byte 0x1e 29448 45b6 F3 .byte 0xf3 29449 45b7 03 .uleb128 0x3 29450 45b8 F5 .byte 0xf5 29451 45b9 01 .uleb128 0x1 29452 45ba 29 .uleb128 0x29 29453 45bb F7 .byte 0xf7 29454 45bc 30 .uleb128 0x30 29455 45bd F7 .byte 0xf7 29456 45be 00 .uleb128 0 29457 45bf 09 .byte 0x9 29458 45c0 FC .byte 0xfc 29459 45c1 24 .byte 0x24 29460 45c2 33 .byte 0x33 29461 45c3 25 .byte 0x25 29462 45c4 30 .byte 0x30 29463 45c5 2E .byte 0x2e 29464 45c6 28 .byte 0x28 29465 45c7 0100 .2byte 0x1 29466 45c9 16 .byte 0x16 29467 45ca 13 .byte 0x13 29468 45cb 23 .byte 0x23 29469 45cc FC03 .uleb128 0x1fc 29470 45ce F3 .byte 0xf3 29471 45cf 03 .uleb128 0x3 29472 45d0 F5 .byte 0xf5 29473 45d1 01 .uleb128 0x1 29474 45d2 29 .uleb128 0x29 29475 45d3 F7 .byte 0xf7 29476 45d4 30 .uleb128 0x30 ARM GAS /tmp/ccJhhmLc.s page 994 29477 45d5 F7 .byte 0xf7 29478 45d6 00 .uleb128 0 29479 45d7 3F .byte 0x3f 29480 45d8 1A .byte 0x1a 29481 45d9 4C .byte 0x4c 29482 45da 1E .byte 0x1e 29483 45db 23 .byte 0x23 29484 45dc 3C .uleb128 0x3c 29485 45dd F3 .byte 0xf3 29486 45de 03 .uleb128 0x3 29487 45df F5 .byte 0xf5 29488 45e0 01 .uleb128 0x1 29489 45e1 29 .uleb128 0x29 29490 45e2 F7 .byte 0xf7 29491 45e3 30 .uleb128 0x30 29492 45e4 F7 .byte 0xf7 29493 45e5 00 .uleb128 0 29494 45e6 3F .byte 0x3f 29495 45e7 1A .byte 0x1a 29496 45e8 4C .byte 0x4c 29497 45e9 1E .byte 0x1e 29498 45ea F3 .byte 0xf3 29499 45eb 03 .uleb128 0x3 29500 45ec F5 .byte 0xf5 29501 45ed 01 .uleb128 0x1 29502 45ee 29 .uleb128 0x29 29503 45ef F7 .byte 0xf7 29504 45f0 30 .uleb128 0x30 29505 45f1 F7 .byte 0xf7 29506 45f2 00 .uleb128 0 29507 45f3 09 .byte 0x9 29508 45f4 FC .byte 0xfc 29509 45f5 24 .byte 0x24 29510 45f6 33 .byte 0x33 29511 45f7 25 .byte 0x25 29512 45f8 30 .byte 0x30 29513 45f9 2E .byte 0x2e 29514 45fa 28 .byte 0x28 29515 45fb 0100 .2byte 0x1 29516 45fd 16 .byte 0x16 29517 45fe 13 .byte 0x13 29518 45ff F3 .byte 0xf3 29519 4600 03 .uleb128 0x3 29520 4601 F5 .byte 0xf5 29521 4602 01 .uleb128 0x1 29522 4603 29 .uleb128 0x29 29523 4604 F7 .byte 0xf7 29524 4605 30 .uleb128 0x30 29525 4606 F7 .byte 0xf7 29526 4607 00 .uleb128 0 29527 4608 09 .byte 0x9 29528 4609 FC .byte 0xfc 29529 460a 24 .byte 0x24 29530 460b 33 .byte 0x33 29531 460c 25 .byte 0x25 29532 460d 30 .byte 0x30 29533 460e 29 .byte 0x29 ARM GAS /tmp/ccJhhmLc.s page 995 29534 460f 28 .byte 0x28 29535 4610 0100 .2byte 0x1 29536 4612 16 .byte 0x16 29537 4613 13 .byte 0x13 29538 4614 70 .byte 0x70 29539 4615 00 .sleb128 0 29540 4616 22 .byte 0x22 29541 4617 F3 .byte 0xf3 29542 4618 03 .uleb128 0x3 29543 4619 F5 .byte 0xf5 29544 461a 01 .uleb128 0x1 29545 461b 29 .uleb128 0x29 29546 461c F7 .byte 0xf7 29547 461d 30 .uleb128 0x30 29548 461e F7 .byte 0xf7 29549 461f 00 .uleb128 0 29550 4620 3F .byte 0x3f 29551 4621 1A .byte 0x1a 29552 4622 4C .byte 0x4c 29553 4623 1E .byte 0x1e 29554 4624 23 .byte 0x23 29555 4625 3C .uleb128 0x3c 29556 4626 F3 .byte 0xf3 29557 4627 03 .uleb128 0x3 29558 4628 F5 .byte 0xf5 29559 4629 01 .uleb128 0x1 29560 462a 29 .uleb128 0x29 29561 462b F7 .byte 0xf7 29562 462c 30 .uleb128 0x30 29563 462d F7 .byte 0xf7 29564 462e 00 .uleb128 0 29565 462f 3F .byte 0x3f 29566 4630 1A .byte 0x1a 29567 4631 4C .byte 0x4c 29568 4632 1E .byte 0x1e 29569 4633 F3 .byte 0xf3 29570 4634 03 .uleb128 0x3 29571 4635 F5 .byte 0xf5 29572 4636 01 .uleb128 0x1 29573 4637 29 .uleb128 0x29 29574 4638 F7 .byte 0xf7 29575 4639 30 .uleb128 0x30 29576 463a F7 .byte 0xf7 29577 463b 00 .uleb128 0 29578 463c 09 .byte 0x9 29579 463d FC .byte 0xfc 29580 463e 24 .byte 0x24 29581 463f 33 .byte 0x33 29582 4640 25 .byte 0x25 29583 4641 30 .byte 0x30 29584 4642 2E .byte 0x2e 29585 4643 28 .byte 0x28 29586 4644 0100 .2byte 0x1 29587 4646 16 .byte 0x16 29588 4647 13 .byte 0x13 29589 4648 23 .byte 0x23 29590 4649 FC03 .uleb128 0x1fc ARM GAS /tmp/ccJhhmLc.s page 996 29591 464b F3 .byte 0xf3 29592 464c 03 .uleb128 0x3 29593 464d F5 .byte 0xf5 29594 464e 01 .uleb128 0x1 29595 464f 29 .uleb128 0x29 29596 4650 F7 .byte 0xf7 29597 4651 30 .uleb128 0x30 29598 4652 F7 .byte 0xf7 29599 4653 00 .uleb128 0 29600 4654 3F .byte 0x3f 29601 4655 1A .byte 0x1a 29602 4656 4C .byte 0x4c 29603 4657 1E .byte 0x1e 29604 4658 23 .byte 0x23 29605 4659 3C .uleb128 0x3c 29606 465a F3 .byte 0xf3 29607 465b 03 .uleb128 0x3 29608 465c F5 .byte 0xf5 29609 465d 01 .uleb128 0x1 29610 465e 29 .uleb128 0x29 29611 465f F7 .byte 0xf7 29612 4660 30 .uleb128 0x30 29613 4661 F7 .byte 0xf7 29614 4662 00 .uleb128 0 29615 4663 3F .byte 0x3f 29616 4664 1A .byte 0x1a 29617 4665 4C .byte 0x4c 29618 4666 1E .byte 0x1e 29619 4667 F3 .byte 0xf3 29620 4668 03 .uleb128 0x3 29621 4669 F5 .byte 0xf5 29622 466a 01 .uleb128 0x1 29623 466b 29 .uleb128 0x29 29624 466c F7 .byte 0xf7 29625 466d 30 .uleb128 0x30 29626 466e F7 .byte 0xf7 29627 466f 00 .uleb128 0 29628 4670 09 .byte 0x9 29629 4671 FC .byte 0xfc 29630 4672 24 .byte 0x24 29631 4673 33 .byte 0x33 29632 4674 25 .byte 0x25 29633 4675 30 .byte 0x30 29634 4676 2E .byte 0x2e 29635 4677 28 .byte 0x28 29636 4678 0100 .2byte 0x1 29637 467a 16 .byte 0x16 29638 467b 13 .byte 0x13 29639 467c F3 .byte 0xf3 29640 467d 03 .uleb128 0x3 29641 467e F5 .byte 0xf5 29642 467f 01 .uleb128 0x1 29643 4680 29 .uleb128 0x29 29644 4681 F7 .byte 0xf7 29645 4682 30 .uleb128 0x30 29646 4683 F7 .byte 0xf7 29647 4684 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 997 29648 4685 09 .byte 0x9 29649 4686 FC .byte 0xfc 29650 4687 24 .byte 0x24 29651 4688 33 .byte 0x33 29652 4689 25 .byte 0x25 29653 468a 30 .byte 0x30 29654 468b 29 .byte 0x29 29655 468c 28 .byte 0x28 29656 468d 0100 .2byte 0x1 29657 468f 16 .byte 0x16 29658 4690 13 .byte 0x13 29659 4691 F3 .byte 0xf3 29660 4692 03 .uleb128 0x3 29661 4693 F5 .byte 0xf5 29662 4694 01 .uleb128 0x1 29663 4695 29 .uleb128 0x29 29664 4696 F7 .byte 0xf7 29665 4697 30 .uleb128 0x30 29666 4698 F7 .byte 0xf7 29667 4699 00 .uleb128 0 29668 469a 09 .byte 0x9 29669 469b FC .byte 0xfc 29670 469c 24 .byte 0x24 29671 469d 33 .byte 0x33 29672 469e 25 .byte 0x25 29673 469f 30 .byte 0x30 29674 46a0 2E .byte 0x2e 29675 46a1 28 .byte 0x28 29676 46a2 0100 .2byte 0x1 29677 46a4 16 .byte 0x16 29678 46a5 13 .byte 0x13 29679 46a6 F3 .byte 0xf3 29680 46a7 03 .uleb128 0x3 29681 46a8 F5 .byte 0xf5 29682 46a9 01 .uleb128 0x1 29683 46aa 29 .uleb128 0x29 29684 46ab F7 .byte 0xf7 29685 46ac 30 .uleb128 0x30 29686 46ad F7 .byte 0xf7 29687 46ae 00 .uleb128 0 29688 46af 09 .byte 0x9 29689 46b0 FC .byte 0xfc 29690 46b1 24 .byte 0x24 29691 46b2 33 .byte 0x33 29692 46b3 25 .byte 0x25 29693 46b4 30 .byte 0x30 29694 46b5 29 .byte 0x29 29695 46b6 28 .byte 0x28 29696 46b7 0100 .2byte 0x1 29697 46b9 16 .byte 0x16 29698 46ba 13 .byte 0x13 29699 46bb 9F .byte 0x9f 29700 46bc 00000000 .4byte 0 29701 46c0 00000000 .4byte 0 29702 .LVUS339: 29703 46c4 00 .uleb128 .LVU2514 29704 46c5 00 .uleb128 .LVU2529 ARM GAS /tmp/ccJhhmLc.s page 998 29705 .LLST339: 29706 46c6 4C000000 .4byte .LVL523 29707 46ca 7A000000 .4byte .LVL526 29708 46ce 0200 .2byte 0x2 29709 46d0 70 .byte 0x70 29710 46d1 00 .sleb128 0 29711 46d2 00000000 .4byte 0 29712 46d6 00000000 .4byte 0 29713 .LVUS340: 29714 46da 00 .uleb128 .LVU2518 29715 46db 00 .uleb128 .LVU2529 29716 .LLST340: 29717 46dc 54000000 .4byte .LVL525 29718 46e0 7A000000 .4byte .LVL526 29719 46e4 0200 .2byte 0x2 29720 46e6 70 .byte 0x70 29721 46e7 00 .sleb128 0 29722 46e8 00000000 .4byte 0 29723 46ec 00000000 .4byte 0 29724 .LLST341: 29725 46f0 00000000 .4byte .LFB161 29726 46f4 02000000 .4byte .LCFI68 29727 46f8 0200 .2byte 0x2 29728 46fa 7D .byte 0x7d 29729 46fb 00 .sleb128 0 29730 46fc 02000000 .4byte .LCFI68 29731 4700 30000000 .4byte .LFE161 29732 4704 0200 .2byte 0x2 29733 4706 7D .byte 0x7d 29734 4707 08 .sleb128 8 29735 4708 00000000 .4byte 0 29736 470c 00000000 .4byte 0 29737 .LVUS342: 29738 4710 00 .uleb128 0 29739 4711 00 .uleb128 .LVU2540 29740 4712 00 .uleb128 .LVU2540 29741 4713 00 .uleb128 0 29742 .LLST342: 29743 4714 00000000 .4byte .LVL528 29744 4718 18000000 .4byte .LVL530 29745 471c 0100 .2byte 0x1 29746 471e 50 .byte 0x50 29747 471f 18000000 .4byte .LVL530 29748 4723 30000000 .4byte .LFE161 29749 4727 0A00 .2byte 0xa 29750 4729 F3 .byte 0xf3 29751 472a 03 .uleb128 0x3 29752 472b F5 .byte 0xf5 29753 472c 00 .uleb128 0 29754 472d 29 .uleb128 0x29 29755 472e F7 .byte 0xf7 29756 472f 30 .uleb128 0x30 29757 4730 F7 .byte 0xf7 29758 4731 00 .uleb128 0 29759 4732 9F .byte 0x9f 29760 4733 00000000 .4byte 0 29761 4737 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 999 29762 .LVUS343: 29763 473b 00 .uleb128 0 29764 473c 00 .uleb128 .LVU2542 29765 473d 00 .uleb128 .LVU2542 29766 473e 00 .uleb128 .LVU2546 29767 473f 00 .uleb128 .LVU2546 29768 4740 00 .uleb128 .LVU2547 29769 4741 00 .uleb128 .LVU2547 29770 4742 00 .uleb128 0 29771 .LLST343: 29772 4743 00000000 .4byte .LVL528 29773 4747 1E000000 .4byte .LVL531 29774 474b 0100 .2byte 0x1 29775 474d 51 .byte 0x51 29776 474e 1E000000 .4byte .LVL531 29777 4752 2A000000 .4byte .LVL534 29778 4756 0A00 .2byte 0xa 29779 4758 F3 .byte 0xf3 29780 4759 03 .uleb128 0x3 29781 475a F5 .byte 0xf5 29782 475b 01 .uleb128 0x1 29783 475c 29 .uleb128 0x29 29784 475d F7 .byte 0xf7 29785 475e 37 .uleb128 0x37 29786 475f F7 .byte 0xf7 29787 4760 00 .uleb128 0 29788 4761 9F .byte 0x9f 29789 4762 2A000000 .4byte .LVL534 29790 4766 2D000000 .4byte .LVL535-1 29791 476a 0100 .2byte 0x1 29792 476c 51 .byte 0x51 29793 476d 2D000000 .4byte .LVL535-1 29794 4771 30000000 .4byte .LFE161 29795 4775 0A00 .2byte 0xa 29796 4777 F3 .byte 0xf3 29797 4778 03 .uleb128 0x3 29798 4779 F5 .byte 0xf5 29799 477a 01 .uleb128 0x1 29800 477b 29 .uleb128 0x29 29801 477c F7 .byte 0xf7 29802 477d 37 .uleb128 0x37 29803 477e F7 .byte 0xf7 29804 477f 00 .uleb128 0 29805 4780 9F .byte 0x9f 29806 4781 00000000 .4byte 0 29807 4785 00000000 .4byte 0 29808 .LVUS344: 29809 4789 01 .uleb128 .LVU2534 29810 478a 00 .uleb128 .LVU2544 29811 478b 00 .uleb128 .LVU2546 29812 478c 00 .uleb128 0 29813 .LLST344: 29814 478d 00000000 .4byte .LVL528 29815 4791 28000000 .4byte .LVL533 29816 4795 0200 .2byte 0x2 29817 4797 30 .byte 0x30 29818 4798 9F .byte 0x9f ARM GAS /tmp/ccJhhmLc.s page 1000 29819 4799 2A000000 .4byte .LVL534 29820 479d 30000000 .4byte .LFE161 29821 47a1 0200 .2byte 0x2 29822 47a3 30 .byte 0x30 29823 47a4 9F .byte 0x9f 29824 47a5 00000000 .4byte 0 29825 47a9 00000000 .4byte 0 29826 .LVUS346: 29827 47ad 00 .uleb128 .LVU2536 29828 47ae 00 .uleb128 .LVU2544 29829 47af 00 .uleb128 .LVU2546 29830 47b0 00 .uleb128 0 29831 .LLST346: 29832 47b1 06000000 .4byte .LVL529 29833 47b5 28000000 .4byte .LVL533 29834 47b9 0100 .2byte 0x1 29835 47bb 54 .byte 0x54 29836 47bc 2A000000 .4byte .LVL534 29837 47c0 30000000 .4byte .LFE161 29838 47c4 0100 .2byte 0x1 29839 47c6 54 .byte 0x54 29840 47c7 00000000 .4byte 0 29841 47cb 00000000 .4byte 0 29842 .LVUS347: 29843 47cf 00 .uleb128 .LVU2536 29844 47d0 00 .uleb128 .LVU2542 29845 47d1 00 .uleb128 .LVU2542 29846 47d2 00 .uleb128 .LVU2544 29847 47d3 00 .uleb128 .LVU2546 29848 47d4 00 .uleb128 .LVU2547 29849 47d5 00 .uleb128 .LVU2547 29850 47d6 00 .uleb128 0 29851 .LLST347: 29852 47d7 06000000 .4byte .LVL529 29853 47db 1E000000 .4byte .LVL531 29854 47df 0100 .2byte 0x1 29855 47e1 51 .byte 0x51 29856 47e2 1E000000 .4byte .LVL531 29857 47e6 28000000 .4byte .LVL533 29858 47ea 0A00 .2byte 0xa 29859 47ec F3 .byte 0xf3 29860 47ed 03 .uleb128 0x3 29861 47ee F5 .byte 0xf5 29862 47ef 01 .uleb128 0x1 29863 47f0 29 .uleb128 0x29 29864 47f1 F7 .byte 0xf7 29865 47f2 37 .uleb128 0x37 29866 47f3 F7 .byte 0xf7 29867 47f4 00 .uleb128 0 29868 47f5 9F .byte 0x9f 29869 47f6 2A000000 .4byte .LVL534 29870 47fa 2D000000 .4byte .LVL535-1 29871 47fe 0100 .2byte 0x1 29872 4800 51 .byte 0x51 29873 4801 2D000000 .4byte .LVL535-1 29874 4805 30000000 .4byte .LFE161 29875 4809 0A00 .2byte 0xa ARM GAS /tmp/ccJhhmLc.s page 1001 29876 480b F3 .byte 0xf3 29877 480c 03 .uleb128 0x3 29878 480d F5 .byte 0xf5 29879 480e 01 .uleb128 0x1 29880 480f 29 .uleb128 0x29 29881 4810 F7 .byte 0xf7 29882 4811 37 .uleb128 0x37 29883 4812 F7 .byte 0xf7 29884 4813 00 .uleb128 0 29885 4814 9F .byte 0x9f 29886 4815 00000000 .4byte 0 29887 4819 00000000 .4byte 0 29888 .LLST348: 29889 481d 00000000 .4byte .LFB164 29890 4821 14000000 .4byte .LCFI69 29891 4825 0200 .2byte 0x2 29892 4827 7D .byte 0x7d 29893 4828 00 .sleb128 0 29894 4829 14000000 .4byte .LCFI69 29895 482d D8000000 .4byte .LFE164 29896 4831 0200 .2byte 0x2 29897 4833 7D .byte 0x7d 29898 4834 10 .sleb128 16 29899 4835 00000000 .4byte 0 29900 4839 00000000 .4byte 0 29901 .LVUS349: 29902 483d 00 .uleb128 0 29903 483e 00 .uleb128 .LVU2550 29904 483f 00 .uleb128 .LVU2550 29905 4840 00 .uleb128 0 29906 .LLST349: 29907 4841 00000000 .4byte .LVL536 29908 4845 04000000 .4byte .LVL537 29909 4849 0100 .2byte 0x1 29910 484b 50 .byte 0x50 29911 484c 04000000 .4byte .LVL537 29912 4850 D8000000 .4byte .LFE164 29913 4854 0A00 .2byte 0xa 29914 4856 F3 .byte 0xf3 29915 4857 03 .uleb128 0x3 29916 4858 F5 .byte 0xf5 29917 4859 00 .uleb128 0 29918 485a 29 .uleb128 0x29 29919 485b F7 .byte 0xf7 29920 485c 30 .uleb128 0x30 29921 485d F7 .byte 0xf7 29922 485e 00 .uleb128 0 29923 485f 9F .byte 0x9f 29924 4860 00000000 .4byte 0 29925 4864 00000000 .4byte 0 29926 .LVUS350: 29927 4868 00 .uleb128 0 29928 4869 00 .uleb128 .LVU2553 29929 486a 00 .uleb128 .LVU2553 29930 486b 00 .uleb128 0 29931 .LLST350: 29932 486c 00000000 .4byte .LVL536 ARM GAS /tmp/ccJhhmLc.s page 1002 29933 4870 18000000 .4byte .LVL538 29934 4874 0100 .2byte 0x1 29935 4876 51 .byte 0x51 29936 4877 18000000 .4byte .LVL538 29937 487b D8000000 .4byte .LFE164 29938 487f 0A00 .2byte 0xa 29939 4881 F3 .byte 0xf3 29940 4882 03 .uleb128 0x3 29941 4883 F5 .byte 0xf5 29942 4884 01 .uleb128 0x1 29943 4885 29 .uleb128 0x29 29944 4886 F7 .byte 0xf7 29945 4887 37 .uleb128 0x37 29946 4888 F7 .byte 0xf7 29947 4889 00 .uleb128 0 29948 488a 9F .byte 0x9f 29949 488b 00000000 .4byte 0 29950 488f 00000000 .4byte 0 29951 .LVUS351: 29952 4893 01 .uleb128 .LVU2549 29953 4894 00 .uleb128 .LVU2586 29954 4895 00 .uleb128 .LVU2588 29955 4896 00 .uleb128 0 29956 .LLST351: 29957 4897 00000000 .4byte .LVL536 29958 489b 96000000 .4byte .LVL546 29959 489f 0200 .2byte 0x2 29960 48a1 30 .byte 0x30 29961 48a2 9F .byte 0x9f 29962 48a3 98000000 .4byte .LVL547 29963 48a7 D8000000 .4byte .LFE164 29964 48ab 0200 .2byte 0x2 29965 48ad 30 .byte 0x30 29966 48ae 9F .byte 0x9f 29967 48af 00000000 .4byte 0 29968 48b3 00000000 .4byte 0 29969 .LVUS353: 29970 48b7 00 .uleb128 .LVU2550 29971 48b8 00 .uleb128 .LVU2586 29972 48b9 00 .uleb128 .LVU2588 29973 48ba 00 .uleb128 0 29974 .LLST353: 29975 48bb 04000000 .4byte .LVL537 29976 48bf 96000000 .4byte .LVL546 29977 48c3 0100 .2byte 0x1 29978 48c5 50 .byte 0x50 29979 48c6 98000000 .4byte .LVL547 29980 48ca D8000000 .4byte .LFE164 29981 48ce 0100 .2byte 0x1 29982 48d0 50 .byte 0x50 29983 48d1 00000000 .4byte 0 29984 48d5 00000000 .4byte 0 29985 .LVUS354: 29986 48d9 00 .uleb128 .LVU2550 29987 48da 00 .uleb128 .LVU2553 29988 48db 00 .uleb128 .LVU2553 29989 48dc 00 .uleb128 .LVU2586 ARM GAS /tmp/ccJhhmLc.s page 1003 29990 48dd 00 .uleb128 .LVU2588 29991 48de 00 .uleb128 0 29992 .LLST354: 29993 48df 04000000 .4byte .LVL537 29994 48e3 18000000 .4byte .LVL538 29995 48e7 0100 .2byte 0x1 29996 48e9 51 .byte 0x51 29997 48ea 18000000 .4byte .LVL538 29998 48ee 96000000 .4byte .LVL546 29999 48f2 0A00 .2byte 0xa 30000 48f4 F3 .byte 0xf3 30001 48f5 03 .uleb128 0x3 30002 48f6 F5 .byte 0xf5 30003 48f7 01 .uleb128 0x1 30004 48f8 29 .uleb128 0x29 30005 48f9 F7 .byte 0xf7 30006 48fa 37 .uleb128 0x37 30007 48fb F7 .byte 0xf7 30008 48fc 00 .uleb128 0 30009 48fd 9F .byte 0x9f 30010 48fe 98000000 .4byte .LVL547 30011 4902 D8000000 .4byte .LFE164 30012 4906 0A00 .2byte 0xa 30013 4908 F3 .byte 0xf3 30014 4909 03 .uleb128 0x3 30015 490a F5 .byte 0xf5 30016 490b 01 .uleb128 0x1 30017 490c 29 .uleb128 0x29 30018 490d F7 .byte 0xf7 30019 490e 37 .uleb128 0x37 30020 490f F7 .byte 0xf7 30021 4910 00 .uleb128 0 30022 4911 9F .byte 0x9f 30023 4912 00000000 .4byte 0 30024 4916 00000000 .4byte 0 30025 .LVUS355: 30026 491a 00 .uleb128 .LVU2557 30027 491b 00 .uleb128 .LVU2565 30028 491c 00 .uleb128 .LVU2565 30029 491d 00 .uleb128 .LVU2586 30030 491e 00 .uleb128 .LVU2588 30031 491f 00 .uleb128 0 30032 .LLST355: 30033 4920 24000000 .4byte .LVL539 30034 4924 46000000 .4byte .LVL541 30035 4928 0100 .2byte 0x1 30036 492a 52 .byte 0x52 30037 492b 46000000 .4byte .LVL541 30038 492f 96000000 .4byte .LVL546 30039 4933 3102 .2byte 0x231 30040 4935 F3 .byte 0xf3 30041 4936 03 .uleb128 0x3 30042 4937 F5 .byte 0xf5 30043 4938 01 .uleb128 0x1 30044 4939 29 .uleb128 0x29 30045 493a F7 .byte 0xf7 30046 493b 30 .uleb128 0x30 ARM GAS /tmp/ccJhhmLc.s page 1004 30047 493c F7 .byte 0xf7 30048 493d 00 .uleb128 0 30049 493e 3F .byte 0x3f 30050 493f 1A .byte 0x1a 30051 4940 4C .byte 0x4c 30052 4941 1E .byte 0x1e 30053 4942 23 .byte 0x23 30054 4943 3C .uleb128 0x3c 30055 4944 F3 .byte 0xf3 30056 4945 03 .uleb128 0x3 30057 4946 F5 .byte 0xf5 30058 4947 01 .uleb128 0x1 30059 4948 29 .uleb128 0x29 30060 4949 F7 .byte 0xf7 30061 494a 30 .uleb128 0x30 30062 494b F7 .byte 0xf7 30063 494c 00 .uleb128 0 30064 494d 3F .byte 0x3f 30065 494e 1A .byte 0x1a 30066 494f 4C .byte 0x4c 30067 4950 1E .byte 0x1e 30068 4951 F3 .byte 0xf3 30069 4952 03 .uleb128 0x3 30070 4953 F5 .byte 0xf5 30071 4954 01 .uleb128 0x1 30072 4955 29 .uleb128 0x29 30073 4956 F7 .byte 0xf7 30074 4957 30 .uleb128 0x30 30075 4958 F7 .byte 0xf7 30076 4959 00 .uleb128 0 30077 495a 09 .byte 0x9 30078 495b FC .byte 0xfc 30079 495c 24 .byte 0x24 30080 495d 33 .byte 0x33 30081 495e 25 .byte 0x25 30082 495f 30 .byte 0x30 30083 4960 2E .byte 0x2e 30084 4961 28 .byte 0x28 30085 4962 0100 .2byte 0x1 30086 4964 16 .byte 0x16 30087 4965 13 .byte 0x13 30088 4966 23 .byte 0x23 30089 4967 FC03 .uleb128 0x1fc 30090 4969 F3 .byte 0xf3 30091 496a 03 .uleb128 0x3 30092 496b F5 .byte 0xf5 30093 496c 01 .uleb128 0x1 30094 496d 29 .uleb128 0x29 30095 496e F7 .byte 0xf7 30096 496f 30 .uleb128 0x30 30097 4970 F7 .byte 0xf7 30098 4971 00 .uleb128 0 30099 4972 3F .byte 0x3f 30100 4973 1A .byte 0x1a 30101 4974 4C .byte 0x4c 30102 4975 1E .byte 0x1e 30103 4976 23 .byte 0x23 ARM GAS /tmp/ccJhhmLc.s page 1005 30104 4977 3C .uleb128 0x3c 30105 4978 F3 .byte 0xf3 30106 4979 03 .uleb128 0x3 30107 497a F5 .byte 0xf5 30108 497b 01 .uleb128 0x1 30109 497c 29 .uleb128 0x29 30110 497d F7 .byte 0xf7 30111 497e 30 .uleb128 0x30 30112 497f F7 .byte 0xf7 30113 4980 00 .uleb128 0 30114 4981 3F .byte 0x3f 30115 4982 1A .byte 0x1a 30116 4983 4C .byte 0x4c 30117 4984 1E .byte 0x1e 30118 4985 F3 .byte 0xf3 30119 4986 03 .uleb128 0x3 30120 4987 F5 .byte 0xf5 30121 4988 01 .uleb128 0x1 30122 4989 29 .uleb128 0x29 30123 498a F7 .byte 0xf7 30124 498b 30 .uleb128 0x30 30125 498c F7 .byte 0xf7 30126 498d 00 .uleb128 0 30127 498e 09 .byte 0x9 30128 498f FC .byte 0xfc 30129 4990 24 .byte 0x24 30130 4991 33 .byte 0x33 30131 4992 25 .byte 0x25 30132 4993 30 .byte 0x30 30133 4994 2E .byte 0x2e 30134 4995 28 .byte 0x28 30135 4996 0100 .2byte 0x1 30136 4998 16 .byte 0x16 30137 4999 13 .byte 0x13 30138 499a F3 .byte 0xf3 30139 499b 03 .uleb128 0x3 30140 499c F5 .byte 0xf5 30141 499d 01 .uleb128 0x1 30142 499e 29 .uleb128 0x29 30143 499f F7 .byte 0xf7 30144 49a0 30 .uleb128 0x30 30145 49a1 F7 .byte 0xf7 30146 49a2 00 .uleb128 0 30147 49a3 09 .byte 0x9 30148 49a4 FC .byte 0xfc 30149 49a5 24 .byte 0x24 30150 49a6 33 .byte 0x33 30151 49a7 25 .byte 0x25 30152 49a8 30 .byte 0x30 30153 49a9 29 .byte 0x29 30154 49aa 28 .byte 0x28 30155 49ab 0100 .2byte 0x1 30156 49ad 16 .byte 0x16 30157 49ae 13 .byte 0x13 30158 49af 70 .byte 0x70 30159 49b0 00 .sleb128 0 30160 49b1 22 .byte 0x22 ARM GAS /tmp/ccJhhmLc.s page 1006 30161 49b2 F3 .byte 0xf3 30162 49b3 03 .uleb128 0x3 30163 49b4 F5 .byte 0xf5 30164 49b5 01 .uleb128 0x1 30165 49b6 29 .uleb128 0x29 30166 49b7 F7 .byte 0xf7 30167 49b8 30 .uleb128 0x30 30168 49b9 F7 .byte 0xf7 30169 49ba 00 .uleb128 0 30170 49bb 3F .byte 0x3f 30171 49bc 1A .byte 0x1a 30172 49bd 4C .byte 0x4c 30173 49be 1E .byte 0x1e 30174 49bf 23 .byte 0x23 30175 49c0 3C .uleb128 0x3c 30176 49c1 F3 .byte 0xf3 30177 49c2 03 .uleb128 0x3 30178 49c3 F5 .byte 0xf5 30179 49c4 01 .uleb128 0x1 30180 49c5 29 .uleb128 0x29 30181 49c6 F7 .byte 0xf7 30182 49c7 30 .uleb128 0x30 30183 49c8 F7 .byte 0xf7 30184 49c9 00 .uleb128 0 30185 49ca 3F .byte 0x3f 30186 49cb 1A .byte 0x1a 30187 49cc 4C .byte 0x4c 30188 49cd 1E .byte 0x1e 30189 49ce F3 .byte 0xf3 30190 49cf 03 .uleb128 0x3 30191 49d0 F5 .byte 0xf5 30192 49d1 01 .uleb128 0x1 30193 49d2 29 .uleb128 0x29 30194 49d3 F7 .byte 0xf7 30195 49d4 30 .uleb128 0x30 30196 49d5 F7 .byte 0xf7 30197 49d6 00 .uleb128 0 30198 49d7 09 .byte 0x9 30199 49d8 FC .byte 0xfc 30200 49d9 24 .byte 0x24 30201 49da 33 .byte 0x33 30202 49db 25 .byte 0x25 30203 49dc 30 .byte 0x30 30204 49dd 2E .byte 0x2e 30205 49de 28 .byte 0x28 30206 49df 0100 .2byte 0x1 30207 49e1 16 .byte 0x16 30208 49e2 13 .byte 0x13 30209 49e3 23 .byte 0x23 30210 49e4 FC03 .uleb128 0x1fc 30211 49e6 F3 .byte 0xf3 30212 49e7 03 .uleb128 0x3 30213 49e8 F5 .byte 0xf5 30214 49e9 01 .uleb128 0x1 30215 49ea 29 .uleb128 0x29 30216 49eb F7 .byte 0xf7 30217 49ec 30 .uleb128 0x30 ARM GAS /tmp/ccJhhmLc.s page 1007 30218 49ed F7 .byte 0xf7 30219 49ee 00 .uleb128 0 30220 49ef 3F .byte 0x3f 30221 49f0 1A .byte 0x1a 30222 49f1 4C .byte 0x4c 30223 49f2 1E .byte 0x1e 30224 49f3 23 .byte 0x23 30225 49f4 3C .uleb128 0x3c 30226 49f5 F3 .byte 0xf3 30227 49f6 03 .uleb128 0x3 30228 49f7 F5 .byte 0xf5 30229 49f8 01 .uleb128 0x1 30230 49f9 29 .uleb128 0x29 30231 49fa F7 .byte 0xf7 30232 49fb 30 .uleb128 0x30 30233 49fc F7 .byte 0xf7 30234 49fd 00 .uleb128 0 30235 49fe 3F .byte 0x3f 30236 49ff 1A .byte 0x1a 30237 4a00 4C .byte 0x4c 30238 4a01 1E .byte 0x1e 30239 4a02 F3 .byte 0xf3 30240 4a03 03 .uleb128 0x3 30241 4a04 F5 .byte 0xf5 30242 4a05 01 .uleb128 0x1 30243 4a06 29 .uleb128 0x29 30244 4a07 F7 .byte 0xf7 30245 4a08 30 .uleb128 0x30 30246 4a09 F7 .byte 0xf7 30247 4a0a 00 .uleb128 0 30248 4a0b 09 .byte 0x9 30249 4a0c FC .byte 0xfc 30250 4a0d 24 .byte 0x24 30251 4a0e 33 .byte 0x33 30252 4a0f 25 .byte 0x25 30253 4a10 30 .byte 0x30 30254 4a11 2E .byte 0x2e 30255 4a12 28 .byte 0x28 30256 4a13 0100 .2byte 0x1 30257 4a15 16 .byte 0x16 30258 4a16 13 .byte 0x13 30259 4a17 F3 .byte 0xf3 30260 4a18 03 .uleb128 0x3 30261 4a19 F5 .byte 0xf5 30262 4a1a 01 .uleb128 0x1 30263 4a1b 29 .uleb128 0x29 30264 4a1c F7 .byte 0xf7 30265 4a1d 30 .uleb128 0x30 30266 4a1e F7 .byte 0xf7 30267 4a1f 00 .uleb128 0 30268 4a20 09 .byte 0x9 30269 4a21 FC .byte 0xfc 30270 4a22 24 .byte 0x24 30271 4a23 33 .byte 0x33 30272 4a24 25 .byte 0x25 30273 4a25 30 .byte 0x30 30274 4a26 29 .byte 0x29 ARM GAS /tmp/ccJhhmLc.s page 1008 30275 4a27 28 .byte 0x28 30276 4a28 0100 .2byte 0x1 30277 4a2a 16 .byte 0x16 30278 4a2b 13 .byte 0x13 30279 4a2c F3 .byte 0xf3 30280 4a2d 03 .uleb128 0x3 30281 4a2e F5 .byte 0xf5 30282 4a2f 01 .uleb128 0x1 30283 4a30 29 .uleb128 0x29 30284 4a31 F7 .byte 0xf7 30285 4a32 30 .uleb128 0x30 30286 4a33 F7 .byte 0xf7 30287 4a34 00 .uleb128 0 30288 4a35 09 .byte 0x9 30289 4a36 FC .byte 0xfc 30290 4a37 24 .byte 0x24 30291 4a38 33 .byte 0x33 30292 4a39 25 .byte 0x25 30293 4a3a 30 .byte 0x30 30294 4a3b 2E .byte 0x2e 30295 4a3c 28 .byte 0x28 30296 4a3d 0100 .2byte 0x1 30297 4a3f 16 .byte 0x16 30298 4a40 13 .byte 0x13 30299 4a41 70 .byte 0x70 30300 4a42 00 .sleb128 0 30301 4a43 22 .byte 0x22 30302 4a44 F3 .byte 0xf3 30303 4a45 03 .uleb128 0x3 30304 4a46 F5 .byte 0xf5 30305 4a47 01 .uleb128 0x1 30306 4a48 29 .uleb128 0x29 30307 4a49 F7 .byte 0xf7 30308 4a4a 30 .uleb128 0x30 30309 4a4b F7 .byte 0xf7 30310 4a4c 00 .uleb128 0 30311 4a4d 3F .byte 0x3f 30312 4a4e 1A .byte 0x1a 30313 4a4f 4C .byte 0x4c 30314 4a50 1E .byte 0x1e 30315 4a51 23 .byte 0x23 30316 4a52 3C .uleb128 0x3c 30317 4a53 F3 .byte 0xf3 30318 4a54 03 .uleb128 0x3 30319 4a55 F5 .byte 0xf5 30320 4a56 01 .uleb128 0x1 30321 4a57 29 .uleb128 0x29 30322 4a58 F7 .byte 0xf7 30323 4a59 30 .uleb128 0x30 30324 4a5a F7 .byte 0xf7 30325 4a5b 00 .uleb128 0 30326 4a5c 3F .byte 0x3f 30327 4a5d 1A .byte 0x1a 30328 4a5e 4C .byte 0x4c 30329 4a5f 1E .byte 0x1e 30330 4a60 F3 .byte 0xf3 30331 4a61 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 1009 30332 4a62 F5 .byte 0xf5 30333 4a63 01 .uleb128 0x1 30334 4a64 29 .uleb128 0x29 30335 4a65 F7 .byte 0xf7 30336 4a66 30 .uleb128 0x30 30337 4a67 F7 .byte 0xf7 30338 4a68 00 .uleb128 0 30339 4a69 09 .byte 0x9 30340 4a6a FC .byte 0xfc 30341 4a6b 24 .byte 0x24 30342 4a6c 33 .byte 0x33 30343 4a6d 25 .byte 0x25 30344 4a6e 30 .byte 0x30 30345 4a6f 2E .byte 0x2e 30346 4a70 28 .byte 0x28 30347 4a71 0100 .2byte 0x1 30348 4a73 16 .byte 0x16 30349 4a74 13 .byte 0x13 30350 4a75 23 .byte 0x23 30351 4a76 FC03 .uleb128 0x1fc 30352 4a78 F3 .byte 0xf3 30353 4a79 03 .uleb128 0x3 30354 4a7a F5 .byte 0xf5 30355 4a7b 01 .uleb128 0x1 30356 4a7c 29 .uleb128 0x29 30357 4a7d F7 .byte 0xf7 30358 4a7e 30 .uleb128 0x30 30359 4a7f F7 .byte 0xf7 30360 4a80 00 .uleb128 0 30361 4a81 3F .byte 0x3f 30362 4a82 1A .byte 0x1a 30363 4a83 4C .byte 0x4c 30364 4a84 1E .byte 0x1e 30365 4a85 23 .byte 0x23 30366 4a86 3C .uleb128 0x3c 30367 4a87 F3 .byte 0xf3 30368 4a88 03 .uleb128 0x3 30369 4a89 F5 .byte 0xf5 30370 4a8a 01 .uleb128 0x1 30371 4a8b 29 .uleb128 0x29 30372 4a8c F7 .byte 0xf7 30373 4a8d 30 .uleb128 0x30 30374 4a8e F7 .byte 0xf7 30375 4a8f 00 .uleb128 0 30376 4a90 3F .byte 0x3f 30377 4a91 1A .byte 0x1a 30378 4a92 4C .byte 0x4c 30379 4a93 1E .byte 0x1e 30380 4a94 F3 .byte 0xf3 30381 4a95 03 .uleb128 0x3 30382 4a96 F5 .byte 0xf5 30383 4a97 01 .uleb128 0x1 30384 4a98 29 .uleb128 0x29 30385 4a99 F7 .byte 0xf7 30386 4a9a 30 .uleb128 0x30 30387 4a9b F7 .byte 0xf7 30388 4a9c 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1010 30389 4a9d 09 .byte 0x9 30390 4a9e FC .byte 0xfc 30391 4a9f 24 .byte 0x24 30392 4aa0 33 .byte 0x33 30393 4aa1 25 .byte 0x25 30394 4aa2 30 .byte 0x30 30395 4aa3 2E .byte 0x2e 30396 4aa4 28 .byte 0x28 30397 4aa5 0100 .2byte 0x1 30398 4aa7 16 .byte 0x16 30399 4aa8 13 .byte 0x13 30400 4aa9 F3 .byte 0xf3 30401 4aaa 03 .uleb128 0x3 30402 4aab F5 .byte 0xf5 30403 4aac 01 .uleb128 0x1 30404 4aad 29 .uleb128 0x29 30405 4aae F7 .byte 0xf7 30406 4aaf 30 .uleb128 0x30 30407 4ab0 F7 .byte 0xf7 30408 4ab1 00 .uleb128 0 30409 4ab2 09 .byte 0x9 30410 4ab3 FC .byte 0xfc 30411 4ab4 24 .byte 0x24 30412 4ab5 33 .byte 0x33 30413 4ab6 25 .byte 0x25 30414 4ab7 30 .byte 0x30 30415 4ab8 29 .byte 0x29 30416 4ab9 28 .byte 0x28 30417 4aba 0100 .2byte 0x1 30418 4abc 16 .byte 0x16 30419 4abd 13 .byte 0x13 30420 4abe 70 .byte 0x70 30421 4abf 00 .sleb128 0 30422 4ac0 22 .byte 0x22 30423 4ac1 F3 .byte 0xf3 30424 4ac2 03 .uleb128 0x3 30425 4ac3 F5 .byte 0xf5 30426 4ac4 01 .uleb128 0x1 30427 4ac5 29 .uleb128 0x29 30428 4ac6 F7 .byte 0xf7 30429 4ac7 30 .uleb128 0x30 30430 4ac8 F7 .byte 0xf7 30431 4ac9 00 .uleb128 0 30432 4aca 3F .byte 0x3f 30433 4acb 1A .byte 0x1a 30434 4acc 4C .byte 0x4c 30435 4acd 1E .byte 0x1e 30436 4ace 23 .byte 0x23 30437 4acf 3C .uleb128 0x3c 30438 4ad0 F3 .byte 0xf3 30439 4ad1 03 .uleb128 0x3 30440 4ad2 F5 .byte 0xf5 30441 4ad3 01 .uleb128 0x1 30442 4ad4 29 .uleb128 0x29 30443 4ad5 F7 .byte 0xf7 30444 4ad6 30 .uleb128 0x30 30445 4ad7 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1011 30446 4ad8 00 .uleb128 0 30447 4ad9 3F .byte 0x3f 30448 4ada 1A .byte 0x1a 30449 4adb 4C .byte 0x4c 30450 4adc 1E .byte 0x1e 30451 4add F3 .byte 0xf3 30452 4ade 03 .uleb128 0x3 30453 4adf F5 .byte 0xf5 30454 4ae0 01 .uleb128 0x1 30455 4ae1 29 .uleb128 0x29 30456 4ae2 F7 .byte 0xf7 30457 4ae3 30 .uleb128 0x30 30458 4ae4 F7 .byte 0xf7 30459 4ae5 00 .uleb128 0 30460 4ae6 09 .byte 0x9 30461 4ae7 FC .byte 0xfc 30462 4ae8 24 .byte 0x24 30463 4ae9 33 .byte 0x33 30464 4aea 25 .byte 0x25 30465 4aeb 30 .byte 0x30 30466 4aec 2E .byte 0x2e 30467 4aed 28 .byte 0x28 30468 4aee 0100 .2byte 0x1 30469 4af0 16 .byte 0x16 30470 4af1 13 .byte 0x13 30471 4af2 23 .byte 0x23 30472 4af3 FC03 .uleb128 0x1fc 30473 4af5 F3 .byte 0xf3 30474 4af6 03 .uleb128 0x3 30475 4af7 F5 .byte 0xf5 30476 4af8 01 .uleb128 0x1 30477 4af9 29 .uleb128 0x29 30478 4afa F7 .byte 0xf7 30479 4afb 30 .uleb128 0x30 30480 4afc F7 .byte 0xf7 30481 4afd 00 .uleb128 0 30482 4afe 3F .byte 0x3f 30483 4aff 1A .byte 0x1a 30484 4b00 4C .byte 0x4c 30485 4b01 1E .byte 0x1e 30486 4b02 23 .byte 0x23 30487 4b03 3C .uleb128 0x3c 30488 4b04 F3 .byte 0xf3 30489 4b05 03 .uleb128 0x3 30490 4b06 F5 .byte 0xf5 30491 4b07 01 .uleb128 0x1 30492 4b08 29 .uleb128 0x29 30493 4b09 F7 .byte 0xf7 30494 4b0a 30 .uleb128 0x30 30495 4b0b F7 .byte 0xf7 30496 4b0c 00 .uleb128 0 30497 4b0d 3F .byte 0x3f 30498 4b0e 1A .byte 0x1a 30499 4b0f 4C .byte 0x4c 30500 4b10 1E .byte 0x1e 30501 4b11 F3 .byte 0xf3 30502 4b12 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 1012 30503 4b13 F5 .byte 0xf5 30504 4b14 01 .uleb128 0x1 30505 4b15 29 .uleb128 0x29 30506 4b16 F7 .byte 0xf7 30507 4b17 30 .uleb128 0x30 30508 4b18 F7 .byte 0xf7 30509 4b19 00 .uleb128 0 30510 4b1a 09 .byte 0x9 30511 4b1b FC .byte 0xfc 30512 4b1c 24 .byte 0x24 30513 4b1d 33 .byte 0x33 30514 4b1e 25 .byte 0x25 30515 4b1f 30 .byte 0x30 30516 4b20 2E .byte 0x2e 30517 4b21 28 .byte 0x28 30518 4b22 0100 .2byte 0x1 30519 4b24 16 .byte 0x16 30520 4b25 13 .byte 0x13 30521 4b26 F3 .byte 0xf3 30522 4b27 03 .uleb128 0x3 30523 4b28 F5 .byte 0xf5 30524 4b29 01 .uleb128 0x1 30525 4b2a 29 .uleb128 0x29 30526 4b2b F7 .byte 0xf7 30527 4b2c 30 .uleb128 0x30 30528 4b2d F7 .byte 0xf7 30529 4b2e 00 .uleb128 0 30530 4b2f 09 .byte 0x9 30531 4b30 FC .byte 0xfc 30532 4b31 24 .byte 0x24 30533 4b32 33 .byte 0x33 30534 4b33 25 .byte 0x25 30535 4b34 30 .byte 0x30 30536 4b35 29 .byte 0x29 30537 4b36 28 .byte 0x28 30538 4b37 0100 .2byte 0x1 30539 4b39 16 .byte 0x16 30540 4b3a 13 .byte 0x13 30541 4b3b F3 .byte 0xf3 30542 4b3c 03 .uleb128 0x3 30543 4b3d F5 .byte 0xf5 30544 4b3e 01 .uleb128 0x1 30545 4b3f 29 .uleb128 0x29 30546 4b40 F7 .byte 0xf7 30547 4b41 30 .uleb128 0x30 30548 4b42 F7 .byte 0xf7 30549 4b43 00 .uleb128 0 30550 4b44 09 .byte 0x9 30551 4b45 FC .byte 0xfc 30552 4b46 24 .byte 0x24 30553 4b47 33 .byte 0x33 30554 4b48 25 .byte 0x25 30555 4b49 30 .byte 0x30 30556 4b4a 2E .byte 0x2e 30557 4b4b 28 .byte 0x28 30558 4b4c 0100 .2byte 0x1 30559 4b4e 16 .byte 0x16 ARM GAS /tmp/ccJhhmLc.s page 1013 30560 4b4f 13 .byte 0x13 30561 4b50 F3 .byte 0xf3 30562 4b51 03 .uleb128 0x3 30563 4b52 F5 .byte 0xf5 30564 4b53 01 .uleb128 0x1 30565 4b54 29 .uleb128 0x29 30566 4b55 F7 .byte 0xf7 30567 4b56 30 .uleb128 0x30 30568 4b57 F7 .byte 0xf7 30569 4b58 00 .uleb128 0 30570 4b59 09 .byte 0x9 30571 4b5a FC .byte 0xfc 30572 4b5b 24 .byte 0x24 30573 4b5c 33 .byte 0x33 30574 4b5d 25 .byte 0x25 30575 4b5e 30 .byte 0x30 30576 4b5f 29 .byte 0x29 30577 4b60 28 .byte 0x28 30578 4b61 0100 .2byte 0x1 30579 4b63 16 .byte 0x16 30580 4b64 13 .byte 0x13 30581 4b65 9F .byte 0x9f 30582 4b66 98000000 .4byte .LVL547 30583 4b6a D8000000 .4byte .LFE164 30584 4b6e 3102 .2byte 0x231 30585 4b70 F3 .byte 0xf3 30586 4b71 03 .uleb128 0x3 30587 4b72 F5 .byte 0xf5 30588 4b73 01 .uleb128 0x1 30589 4b74 29 .uleb128 0x29 30590 4b75 F7 .byte 0xf7 30591 4b76 30 .uleb128 0x30 30592 4b77 F7 .byte 0xf7 30593 4b78 00 .uleb128 0 30594 4b79 3F .byte 0x3f 30595 4b7a 1A .byte 0x1a 30596 4b7b 4C .byte 0x4c 30597 4b7c 1E .byte 0x1e 30598 4b7d 23 .byte 0x23 30599 4b7e 3C .uleb128 0x3c 30600 4b7f F3 .byte 0xf3 30601 4b80 03 .uleb128 0x3 30602 4b81 F5 .byte 0xf5 30603 4b82 01 .uleb128 0x1 30604 4b83 29 .uleb128 0x29 30605 4b84 F7 .byte 0xf7 30606 4b85 30 .uleb128 0x30 30607 4b86 F7 .byte 0xf7 30608 4b87 00 .uleb128 0 30609 4b88 3F .byte 0x3f 30610 4b89 1A .byte 0x1a 30611 4b8a 4C .byte 0x4c 30612 4b8b 1E .byte 0x1e 30613 4b8c F3 .byte 0xf3 30614 4b8d 03 .uleb128 0x3 30615 4b8e F5 .byte 0xf5 30616 4b8f 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1014 30617 4b90 29 .uleb128 0x29 30618 4b91 F7 .byte 0xf7 30619 4b92 30 .uleb128 0x30 30620 4b93 F7 .byte 0xf7 30621 4b94 00 .uleb128 0 30622 4b95 09 .byte 0x9 30623 4b96 FC .byte 0xfc 30624 4b97 24 .byte 0x24 30625 4b98 33 .byte 0x33 30626 4b99 25 .byte 0x25 30627 4b9a 30 .byte 0x30 30628 4b9b 2E .byte 0x2e 30629 4b9c 28 .byte 0x28 30630 4b9d 0100 .2byte 0x1 30631 4b9f 16 .byte 0x16 30632 4ba0 13 .byte 0x13 30633 4ba1 23 .byte 0x23 30634 4ba2 FC03 .uleb128 0x1fc 30635 4ba4 F3 .byte 0xf3 30636 4ba5 03 .uleb128 0x3 30637 4ba6 F5 .byte 0xf5 30638 4ba7 01 .uleb128 0x1 30639 4ba8 29 .uleb128 0x29 30640 4ba9 F7 .byte 0xf7 30641 4baa 30 .uleb128 0x30 30642 4bab F7 .byte 0xf7 30643 4bac 00 .uleb128 0 30644 4bad 3F .byte 0x3f 30645 4bae 1A .byte 0x1a 30646 4baf 4C .byte 0x4c 30647 4bb0 1E .byte 0x1e 30648 4bb1 23 .byte 0x23 30649 4bb2 3C .uleb128 0x3c 30650 4bb3 F3 .byte 0xf3 30651 4bb4 03 .uleb128 0x3 30652 4bb5 F5 .byte 0xf5 30653 4bb6 01 .uleb128 0x1 30654 4bb7 29 .uleb128 0x29 30655 4bb8 F7 .byte 0xf7 30656 4bb9 30 .uleb128 0x30 30657 4bba F7 .byte 0xf7 30658 4bbb 00 .uleb128 0 30659 4bbc 3F .byte 0x3f 30660 4bbd 1A .byte 0x1a 30661 4bbe 4C .byte 0x4c 30662 4bbf 1E .byte 0x1e 30663 4bc0 F3 .byte 0xf3 30664 4bc1 03 .uleb128 0x3 30665 4bc2 F5 .byte 0xf5 30666 4bc3 01 .uleb128 0x1 30667 4bc4 29 .uleb128 0x29 30668 4bc5 F7 .byte 0xf7 30669 4bc6 30 .uleb128 0x30 30670 4bc7 F7 .byte 0xf7 30671 4bc8 00 .uleb128 0 30672 4bc9 09 .byte 0x9 30673 4bca FC .byte 0xfc ARM GAS /tmp/ccJhhmLc.s page 1015 30674 4bcb 24 .byte 0x24 30675 4bcc 33 .byte 0x33 30676 4bcd 25 .byte 0x25 30677 4bce 30 .byte 0x30 30678 4bcf 2E .byte 0x2e 30679 4bd0 28 .byte 0x28 30680 4bd1 0100 .2byte 0x1 30681 4bd3 16 .byte 0x16 30682 4bd4 13 .byte 0x13 30683 4bd5 F3 .byte 0xf3 30684 4bd6 03 .uleb128 0x3 30685 4bd7 F5 .byte 0xf5 30686 4bd8 01 .uleb128 0x1 30687 4bd9 29 .uleb128 0x29 30688 4bda F7 .byte 0xf7 30689 4bdb 30 .uleb128 0x30 30690 4bdc F7 .byte 0xf7 30691 4bdd 00 .uleb128 0 30692 4bde 09 .byte 0x9 30693 4bdf FC .byte 0xfc 30694 4be0 24 .byte 0x24 30695 4be1 33 .byte 0x33 30696 4be2 25 .byte 0x25 30697 4be3 30 .byte 0x30 30698 4be4 29 .byte 0x29 30699 4be5 28 .byte 0x28 30700 4be6 0100 .2byte 0x1 30701 4be8 16 .byte 0x16 30702 4be9 13 .byte 0x13 30703 4bea 70 .byte 0x70 30704 4beb 00 .sleb128 0 30705 4bec 22 .byte 0x22 30706 4bed F3 .byte 0xf3 30707 4bee 03 .uleb128 0x3 30708 4bef F5 .byte 0xf5 30709 4bf0 01 .uleb128 0x1 30710 4bf1 29 .uleb128 0x29 30711 4bf2 F7 .byte 0xf7 30712 4bf3 30 .uleb128 0x30 30713 4bf4 F7 .byte 0xf7 30714 4bf5 00 .uleb128 0 30715 4bf6 3F .byte 0x3f 30716 4bf7 1A .byte 0x1a 30717 4bf8 4C .byte 0x4c 30718 4bf9 1E .byte 0x1e 30719 4bfa 23 .byte 0x23 30720 4bfb 3C .uleb128 0x3c 30721 4bfc F3 .byte 0xf3 30722 4bfd 03 .uleb128 0x3 30723 4bfe F5 .byte 0xf5 30724 4bff 01 .uleb128 0x1 30725 4c00 29 .uleb128 0x29 30726 4c01 F7 .byte 0xf7 30727 4c02 30 .uleb128 0x30 30728 4c03 F7 .byte 0xf7 30729 4c04 00 .uleb128 0 30730 4c05 3F .byte 0x3f ARM GAS /tmp/ccJhhmLc.s page 1016 30731 4c06 1A .byte 0x1a 30732 4c07 4C .byte 0x4c 30733 4c08 1E .byte 0x1e 30734 4c09 F3 .byte 0xf3 30735 4c0a 03 .uleb128 0x3 30736 4c0b F5 .byte 0xf5 30737 4c0c 01 .uleb128 0x1 30738 4c0d 29 .uleb128 0x29 30739 4c0e F7 .byte 0xf7 30740 4c0f 30 .uleb128 0x30 30741 4c10 F7 .byte 0xf7 30742 4c11 00 .uleb128 0 30743 4c12 09 .byte 0x9 30744 4c13 FC .byte 0xfc 30745 4c14 24 .byte 0x24 30746 4c15 33 .byte 0x33 30747 4c16 25 .byte 0x25 30748 4c17 30 .byte 0x30 30749 4c18 2E .byte 0x2e 30750 4c19 28 .byte 0x28 30751 4c1a 0100 .2byte 0x1 30752 4c1c 16 .byte 0x16 30753 4c1d 13 .byte 0x13 30754 4c1e 23 .byte 0x23 30755 4c1f FC03 .uleb128 0x1fc 30756 4c21 F3 .byte 0xf3 30757 4c22 03 .uleb128 0x3 30758 4c23 F5 .byte 0xf5 30759 4c24 01 .uleb128 0x1 30760 4c25 29 .uleb128 0x29 30761 4c26 F7 .byte 0xf7 30762 4c27 30 .uleb128 0x30 30763 4c28 F7 .byte 0xf7 30764 4c29 00 .uleb128 0 30765 4c2a 3F .byte 0x3f 30766 4c2b 1A .byte 0x1a 30767 4c2c 4C .byte 0x4c 30768 4c2d 1E .byte 0x1e 30769 4c2e 23 .byte 0x23 30770 4c2f 3C .uleb128 0x3c 30771 4c30 F3 .byte 0xf3 30772 4c31 03 .uleb128 0x3 30773 4c32 F5 .byte 0xf5 30774 4c33 01 .uleb128 0x1 30775 4c34 29 .uleb128 0x29 30776 4c35 F7 .byte 0xf7 30777 4c36 30 .uleb128 0x30 30778 4c37 F7 .byte 0xf7 30779 4c38 00 .uleb128 0 30780 4c39 3F .byte 0x3f 30781 4c3a 1A .byte 0x1a 30782 4c3b 4C .byte 0x4c 30783 4c3c 1E .byte 0x1e 30784 4c3d F3 .byte 0xf3 30785 4c3e 03 .uleb128 0x3 30786 4c3f F5 .byte 0xf5 30787 4c40 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1017 30788 4c41 29 .uleb128 0x29 30789 4c42 F7 .byte 0xf7 30790 4c43 30 .uleb128 0x30 30791 4c44 F7 .byte 0xf7 30792 4c45 00 .uleb128 0 30793 4c46 09 .byte 0x9 30794 4c47 FC .byte 0xfc 30795 4c48 24 .byte 0x24 30796 4c49 33 .byte 0x33 30797 4c4a 25 .byte 0x25 30798 4c4b 30 .byte 0x30 30799 4c4c 2E .byte 0x2e 30800 4c4d 28 .byte 0x28 30801 4c4e 0100 .2byte 0x1 30802 4c50 16 .byte 0x16 30803 4c51 13 .byte 0x13 30804 4c52 F3 .byte 0xf3 30805 4c53 03 .uleb128 0x3 30806 4c54 F5 .byte 0xf5 30807 4c55 01 .uleb128 0x1 30808 4c56 29 .uleb128 0x29 30809 4c57 F7 .byte 0xf7 30810 4c58 30 .uleb128 0x30 30811 4c59 F7 .byte 0xf7 30812 4c5a 00 .uleb128 0 30813 4c5b 09 .byte 0x9 30814 4c5c FC .byte 0xfc 30815 4c5d 24 .byte 0x24 30816 4c5e 33 .byte 0x33 30817 4c5f 25 .byte 0x25 30818 4c60 30 .byte 0x30 30819 4c61 29 .byte 0x29 30820 4c62 28 .byte 0x28 30821 4c63 0100 .2byte 0x1 30822 4c65 16 .byte 0x16 30823 4c66 13 .byte 0x13 30824 4c67 F3 .byte 0xf3 30825 4c68 03 .uleb128 0x3 30826 4c69 F5 .byte 0xf5 30827 4c6a 01 .uleb128 0x1 30828 4c6b 29 .uleb128 0x29 30829 4c6c F7 .byte 0xf7 30830 4c6d 30 .uleb128 0x30 30831 4c6e F7 .byte 0xf7 30832 4c6f 00 .uleb128 0 30833 4c70 09 .byte 0x9 30834 4c71 FC .byte 0xfc 30835 4c72 24 .byte 0x24 30836 4c73 33 .byte 0x33 30837 4c74 25 .byte 0x25 30838 4c75 30 .byte 0x30 30839 4c76 2E .byte 0x2e 30840 4c77 28 .byte 0x28 30841 4c78 0100 .2byte 0x1 30842 4c7a 16 .byte 0x16 30843 4c7b 13 .byte 0x13 30844 4c7c 70 .byte 0x70 ARM GAS /tmp/ccJhhmLc.s page 1018 30845 4c7d 00 .sleb128 0 30846 4c7e 22 .byte 0x22 30847 4c7f F3 .byte 0xf3 30848 4c80 03 .uleb128 0x3 30849 4c81 F5 .byte 0xf5 30850 4c82 01 .uleb128 0x1 30851 4c83 29 .uleb128 0x29 30852 4c84 F7 .byte 0xf7 30853 4c85 30 .uleb128 0x30 30854 4c86 F7 .byte 0xf7 30855 4c87 00 .uleb128 0 30856 4c88 3F .byte 0x3f 30857 4c89 1A .byte 0x1a 30858 4c8a 4C .byte 0x4c 30859 4c8b 1E .byte 0x1e 30860 4c8c 23 .byte 0x23 30861 4c8d 3C .uleb128 0x3c 30862 4c8e F3 .byte 0xf3 30863 4c8f 03 .uleb128 0x3 30864 4c90 F5 .byte 0xf5 30865 4c91 01 .uleb128 0x1 30866 4c92 29 .uleb128 0x29 30867 4c93 F7 .byte 0xf7 30868 4c94 30 .uleb128 0x30 30869 4c95 F7 .byte 0xf7 30870 4c96 00 .uleb128 0 30871 4c97 3F .byte 0x3f 30872 4c98 1A .byte 0x1a 30873 4c99 4C .byte 0x4c 30874 4c9a 1E .byte 0x1e 30875 4c9b F3 .byte 0xf3 30876 4c9c 03 .uleb128 0x3 30877 4c9d F5 .byte 0xf5 30878 4c9e 01 .uleb128 0x1 30879 4c9f 29 .uleb128 0x29 30880 4ca0 F7 .byte 0xf7 30881 4ca1 30 .uleb128 0x30 30882 4ca2 F7 .byte 0xf7 30883 4ca3 00 .uleb128 0 30884 4ca4 09 .byte 0x9 30885 4ca5 FC .byte 0xfc 30886 4ca6 24 .byte 0x24 30887 4ca7 33 .byte 0x33 30888 4ca8 25 .byte 0x25 30889 4ca9 30 .byte 0x30 30890 4caa 2E .byte 0x2e 30891 4cab 28 .byte 0x28 30892 4cac 0100 .2byte 0x1 30893 4cae 16 .byte 0x16 30894 4caf 13 .byte 0x13 30895 4cb0 23 .byte 0x23 30896 4cb1 FC03 .uleb128 0x1fc 30897 4cb3 F3 .byte 0xf3 30898 4cb4 03 .uleb128 0x3 30899 4cb5 F5 .byte 0xf5 30900 4cb6 01 .uleb128 0x1 30901 4cb7 29 .uleb128 0x29 ARM GAS /tmp/ccJhhmLc.s page 1019 30902 4cb8 F7 .byte 0xf7 30903 4cb9 30 .uleb128 0x30 30904 4cba F7 .byte 0xf7 30905 4cbb 00 .uleb128 0 30906 4cbc 3F .byte 0x3f 30907 4cbd 1A .byte 0x1a 30908 4cbe 4C .byte 0x4c 30909 4cbf 1E .byte 0x1e 30910 4cc0 23 .byte 0x23 30911 4cc1 3C .uleb128 0x3c 30912 4cc2 F3 .byte 0xf3 30913 4cc3 03 .uleb128 0x3 30914 4cc4 F5 .byte 0xf5 30915 4cc5 01 .uleb128 0x1 30916 4cc6 29 .uleb128 0x29 30917 4cc7 F7 .byte 0xf7 30918 4cc8 30 .uleb128 0x30 30919 4cc9 F7 .byte 0xf7 30920 4cca 00 .uleb128 0 30921 4ccb 3F .byte 0x3f 30922 4ccc 1A .byte 0x1a 30923 4ccd 4C .byte 0x4c 30924 4cce 1E .byte 0x1e 30925 4ccf F3 .byte 0xf3 30926 4cd0 03 .uleb128 0x3 30927 4cd1 F5 .byte 0xf5 30928 4cd2 01 .uleb128 0x1 30929 4cd3 29 .uleb128 0x29 30930 4cd4 F7 .byte 0xf7 30931 4cd5 30 .uleb128 0x30 30932 4cd6 F7 .byte 0xf7 30933 4cd7 00 .uleb128 0 30934 4cd8 09 .byte 0x9 30935 4cd9 FC .byte 0xfc 30936 4cda 24 .byte 0x24 30937 4cdb 33 .byte 0x33 30938 4cdc 25 .byte 0x25 30939 4cdd 30 .byte 0x30 30940 4cde 2E .byte 0x2e 30941 4cdf 28 .byte 0x28 30942 4ce0 0100 .2byte 0x1 30943 4ce2 16 .byte 0x16 30944 4ce3 13 .byte 0x13 30945 4ce4 F3 .byte 0xf3 30946 4ce5 03 .uleb128 0x3 30947 4ce6 F5 .byte 0xf5 30948 4ce7 01 .uleb128 0x1 30949 4ce8 29 .uleb128 0x29 30950 4ce9 F7 .byte 0xf7 30951 4cea 30 .uleb128 0x30 30952 4ceb F7 .byte 0xf7 30953 4cec 00 .uleb128 0 30954 4ced 09 .byte 0x9 30955 4cee FC .byte 0xfc 30956 4cef 24 .byte 0x24 30957 4cf0 33 .byte 0x33 30958 4cf1 25 .byte 0x25 ARM GAS /tmp/ccJhhmLc.s page 1020 30959 4cf2 30 .byte 0x30 30960 4cf3 29 .byte 0x29 30961 4cf4 28 .byte 0x28 30962 4cf5 0100 .2byte 0x1 30963 4cf7 16 .byte 0x16 30964 4cf8 13 .byte 0x13 30965 4cf9 70 .byte 0x70 30966 4cfa 00 .sleb128 0 30967 4cfb 22 .byte 0x22 30968 4cfc F3 .byte 0xf3 30969 4cfd 03 .uleb128 0x3 30970 4cfe F5 .byte 0xf5 30971 4cff 01 .uleb128 0x1 30972 4d00 29 .uleb128 0x29 30973 4d01 F7 .byte 0xf7 30974 4d02 30 .uleb128 0x30 30975 4d03 F7 .byte 0xf7 30976 4d04 00 .uleb128 0 30977 4d05 3F .byte 0x3f 30978 4d06 1A .byte 0x1a 30979 4d07 4C .byte 0x4c 30980 4d08 1E .byte 0x1e 30981 4d09 23 .byte 0x23 30982 4d0a 3C .uleb128 0x3c 30983 4d0b F3 .byte 0xf3 30984 4d0c 03 .uleb128 0x3 30985 4d0d F5 .byte 0xf5 30986 4d0e 01 .uleb128 0x1 30987 4d0f 29 .uleb128 0x29 30988 4d10 F7 .byte 0xf7 30989 4d11 30 .uleb128 0x30 30990 4d12 F7 .byte 0xf7 30991 4d13 00 .uleb128 0 30992 4d14 3F .byte 0x3f 30993 4d15 1A .byte 0x1a 30994 4d16 4C .byte 0x4c 30995 4d17 1E .byte 0x1e 30996 4d18 F3 .byte 0xf3 30997 4d19 03 .uleb128 0x3 30998 4d1a F5 .byte 0xf5 30999 4d1b 01 .uleb128 0x1 31000 4d1c 29 .uleb128 0x29 31001 4d1d F7 .byte 0xf7 31002 4d1e 30 .uleb128 0x30 31003 4d1f F7 .byte 0xf7 31004 4d20 00 .uleb128 0 31005 4d21 09 .byte 0x9 31006 4d22 FC .byte 0xfc 31007 4d23 24 .byte 0x24 31008 4d24 33 .byte 0x33 31009 4d25 25 .byte 0x25 31010 4d26 30 .byte 0x30 31011 4d27 2E .byte 0x2e 31012 4d28 28 .byte 0x28 31013 4d29 0100 .2byte 0x1 31014 4d2b 16 .byte 0x16 31015 4d2c 13 .byte 0x13 ARM GAS /tmp/ccJhhmLc.s page 1021 31016 4d2d 23 .byte 0x23 31017 4d2e FC03 .uleb128 0x1fc 31018 4d30 F3 .byte 0xf3 31019 4d31 03 .uleb128 0x3 31020 4d32 F5 .byte 0xf5 31021 4d33 01 .uleb128 0x1 31022 4d34 29 .uleb128 0x29 31023 4d35 F7 .byte 0xf7 31024 4d36 30 .uleb128 0x30 31025 4d37 F7 .byte 0xf7 31026 4d38 00 .uleb128 0 31027 4d39 3F .byte 0x3f 31028 4d3a 1A .byte 0x1a 31029 4d3b 4C .byte 0x4c 31030 4d3c 1E .byte 0x1e 31031 4d3d 23 .byte 0x23 31032 4d3e 3C .uleb128 0x3c 31033 4d3f F3 .byte 0xf3 31034 4d40 03 .uleb128 0x3 31035 4d41 F5 .byte 0xf5 31036 4d42 01 .uleb128 0x1 31037 4d43 29 .uleb128 0x29 31038 4d44 F7 .byte 0xf7 31039 4d45 30 .uleb128 0x30 31040 4d46 F7 .byte 0xf7 31041 4d47 00 .uleb128 0 31042 4d48 3F .byte 0x3f 31043 4d49 1A .byte 0x1a 31044 4d4a 4C .byte 0x4c 31045 4d4b 1E .byte 0x1e 31046 4d4c F3 .byte 0xf3 31047 4d4d 03 .uleb128 0x3 31048 4d4e F5 .byte 0xf5 31049 4d4f 01 .uleb128 0x1 31050 4d50 29 .uleb128 0x29 31051 4d51 F7 .byte 0xf7 31052 4d52 30 .uleb128 0x30 31053 4d53 F7 .byte 0xf7 31054 4d54 00 .uleb128 0 31055 4d55 09 .byte 0x9 31056 4d56 FC .byte 0xfc 31057 4d57 24 .byte 0x24 31058 4d58 33 .byte 0x33 31059 4d59 25 .byte 0x25 31060 4d5a 30 .byte 0x30 31061 4d5b 2E .byte 0x2e 31062 4d5c 28 .byte 0x28 31063 4d5d 0100 .2byte 0x1 31064 4d5f 16 .byte 0x16 31065 4d60 13 .byte 0x13 31066 4d61 F3 .byte 0xf3 31067 4d62 03 .uleb128 0x3 31068 4d63 F5 .byte 0xf5 31069 4d64 01 .uleb128 0x1 31070 4d65 29 .uleb128 0x29 31071 4d66 F7 .byte 0xf7 31072 4d67 30 .uleb128 0x30 ARM GAS /tmp/ccJhhmLc.s page 1022 31073 4d68 F7 .byte 0xf7 31074 4d69 00 .uleb128 0 31075 4d6a 09 .byte 0x9 31076 4d6b FC .byte 0xfc 31077 4d6c 24 .byte 0x24 31078 4d6d 33 .byte 0x33 31079 4d6e 25 .byte 0x25 31080 4d6f 30 .byte 0x30 31081 4d70 29 .byte 0x29 31082 4d71 28 .byte 0x28 31083 4d72 0100 .2byte 0x1 31084 4d74 16 .byte 0x16 31085 4d75 13 .byte 0x13 31086 4d76 F3 .byte 0xf3 31087 4d77 03 .uleb128 0x3 31088 4d78 F5 .byte 0xf5 31089 4d79 01 .uleb128 0x1 31090 4d7a 29 .uleb128 0x29 31091 4d7b F7 .byte 0xf7 31092 4d7c 30 .uleb128 0x30 31093 4d7d F7 .byte 0xf7 31094 4d7e 00 .uleb128 0 31095 4d7f 09 .byte 0x9 31096 4d80 FC .byte 0xfc 31097 4d81 24 .byte 0x24 31098 4d82 33 .byte 0x33 31099 4d83 25 .byte 0x25 31100 4d84 30 .byte 0x30 31101 4d85 2E .byte 0x2e 31102 4d86 28 .byte 0x28 31103 4d87 0100 .2byte 0x1 31104 4d89 16 .byte 0x16 31105 4d8a 13 .byte 0x13 31106 4d8b F3 .byte 0xf3 31107 4d8c 03 .uleb128 0x3 31108 4d8d F5 .byte 0xf5 31109 4d8e 01 .uleb128 0x1 31110 4d8f 29 .uleb128 0x29 31111 4d90 F7 .byte 0xf7 31112 4d91 30 .uleb128 0x30 31113 4d92 F7 .byte 0xf7 31114 4d93 00 .uleb128 0 31115 4d94 09 .byte 0x9 31116 4d95 FC .byte 0xfc 31117 4d96 24 .byte 0x24 31118 4d97 33 .byte 0x33 31119 4d98 25 .byte 0x25 31120 4d99 30 .byte 0x30 31121 4d9a 29 .byte 0x29 31122 4d9b 28 .byte 0x28 31123 4d9c 0100 .2byte 0x1 31124 4d9e 16 .byte 0x16 31125 4d9f 13 .byte 0x13 31126 4da0 9F .byte 0x9f 31127 4da1 00000000 .4byte 0 31128 4da5 00000000 .4byte 0 31129 .LVUS356: ARM GAS /tmp/ccJhhmLc.s page 1023 31130 4da9 00 .uleb128 .LVU2564 31131 4daa 00 .uleb128 .LVU2565 31132 4dab 00 .uleb128 .LVU2565 31133 4dac 00 .uleb128 .LVU2584 31134 4dad 00 .uleb128 .LVU2588 31135 4dae 00 .uleb128 0 31136 .LLST356: 31137 4daf 44000000 .4byte .LVL540 31138 4db3 46000000 .4byte .LVL541 31139 4db7 0100 .2byte 0x1 31140 4db9 52 .byte 0x52 31141 4dba 46000000 .4byte .LVL541 31142 4dbe 90000000 .4byte .LVL545 31143 4dc2 3102 .2byte 0x231 31144 4dc4 F3 .byte 0xf3 31145 4dc5 03 .uleb128 0x3 31146 4dc6 F5 .byte 0xf5 31147 4dc7 01 .uleb128 0x1 31148 4dc8 29 .uleb128 0x29 31149 4dc9 F7 .byte 0xf7 31150 4dca 30 .uleb128 0x30 31151 4dcb F7 .byte 0xf7 31152 4dcc 00 .uleb128 0 31153 4dcd 3F .byte 0x3f 31154 4dce 1A .byte 0x1a 31155 4dcf 4C .byte 0x4c 31156 4dd0 1E .byte 0x1e 31157 4dd1 23 .byte 0x23 31158 4dd2 3C .uleb128 0x3c 31159 4dd3 F3 .byte 0xf3 31160 4dd4 03 .uleb128 0x3 31161 4dd5 F5 .byte 0xf5 31162 4dd6 01 .uleb128 0x1 31163 4dd7 29 .uleb128 0x29 31164 4dd8 F7 .byte 0xf7 31165 4dd9 30 .uleb128 0x30 31166 4dda F7 .byte 0xf7 31167 4ddb 00 .uleb128 0 31168 4ddc 3F .byte 0x3f 31169 4ddd 1A .byte 0x1a 31170 4dde 4C .byte 0x4c 31171 4ddf 1E .byte 0x1e 31172 4de0 F3 .byte 0xf3 31173 4de1 03 .uleb128 0x3 31174 4de2 F5 .byte 0xf5 31175 4de3 01 .uleb128 0x1 31176 4de4 29 .uleb128 0x29 31177 4de5 F7 .byte 0xf7 31178 4de6 30 .uleb128 0x30 31179 4de7 F7 .byte 0xf7 31180 4de8 00 .uleb128 0 31181 4de9 09 .byte 0x9 31182 4dea FC .byte 0xfc 31183 4deb 24 .byte 0x24 31184 4dec 33 .byte 0x33 31185 4ded 25 .byte 0x25 31186 4dee 30 .byte 0x30 ARM GAS /tmp/ccJhhmLc.s page 1024 31187 4def 2E .byte 0x2e 31188 4df0 28 .byte 0x28 31189 4df1 0100 .2byte 0x1 31190 4df3 16 .byte 0x16 31191 4df4 13 .byte 0x13 31192 4df5 23 .byte 0x23 31193 4df6 FC03 .uleb128 0x1fc 31194 4df8 F3 .byte 0xf3 31195 4df9 03 .uleb128 0x3 31196 4dfa F5 .byte 0xf5 31197 4dfb 01 .uleb128 0x1 31198 4dfc 29 .uleb128 0x29 31199 4dfd F7 .byte 0xf7 31200 4dfe 30 .uleb128 0x30 31201 4dff F7 .byte 0xf7 31202 4e00 00 .uleb128 0 31203 4e01 3F .byte 0x3f 31204 4e02 1A .byte 0x1a 31205 4e03 4C .byte 0x4c 31206 4e04 1E .byte 0x1e 31207 4e05 23 .byte 0x23 31208 4e06 3C .uleb128 0x3c 31209 4e07 F3 .byte 0xf3 31210 4e08 03 .uleb128 0x3 31211 4e09 F5 .byte 0xf5 31212 4e0a 01 .uleb128 0x1 31213 4e0b 29 .uleb128 0x29 31214 4e0c F7 .byte 0xf7 31215 4e0d 30 .uleb128 0x30 31216 4e0e F7 .byte 0xf7 31217 4e0f 00 .uleb128 0 31218 4e10 3F .byte 0x3f 31219 4e11 1A .byte 0x1a 31220 4e12 4C .byte 0x4c 31221 4e13 1E .byte 0x1e 31222 4e14 F3 .byte 0xf3 31223 4e15 03 .uleb128 0x3 31224 4e16 F5 .byte 0xf5 31225 4e17 01 .uleb128 0x1 31226 4e18 29 .uleb128 0x29 31227 4e19 F7 .byte 0xf7 31228 4e1a 30 .uleb128 0x30 31229 4e1b F7 .byte 0xf7 31230 4e1c 00 .uleb128 0 31231 4e1d 09 .byte 0x9 31232 4e1e FC .byte 0xfc 31233 4e1f 24 .byte 0x24 31234 4e20 33 .byte 0x33 31235 4e21 25 .byte 0x25 31236 4e22 30 .byte 0x30 31237 4e23 2E .byte 0x2e 31238 4e24 28 .byte 0x28 31239 4e25 0100 .2byte 0x1 31240 4e27 16 .byte 0x16 31241 4e28 13 .byte 0x13 31242 4e29 F3 .byte 0xf3 31243 4e2a 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 1025 31244 4e2b F5 .byte 0xf5 31245 4e2c 01 .uleb128 0x1 31246 4e2d 29 .uleb128 0x29 31247 4e2e F7 .byte 0xf7 31248 4e2f 30 .uleb128 0x30 31249 4e30 F7 .byte 0xf7 31250 4e31 00 .uleb128 0 31251 4e32 09 .byte 0x9 31252 4e33 FC .byte 0xfc 31253 4e34 24 .byte 0x24 31254 4e35 33 .byte 0x33 31255 4e36 25 .byte 0x25 31256 4e37 30 .byte 0x30 31257 4e38 29 .byte 0x29 31258 4e39 28 .byte 0x28 31259 4e3a 0100 .2byte 0x1 31260 4e3c 16 .byte 0x16 31261 4e3d 13 .byte 0x13 31262 4e3e 70 .byte 0x70 31263 4e3f 00 .sleb128 0 31264 4e40 22 .byte 0x22 31265 4e41 F3 .byte 0xf3 31266 4e42 03 .uleb128 0x3 31267 4e43 F5 .byte 0xf5 31268 4e44 01 .uleb128 0x1 31269 4e45 29 .uleb128 0x29 31270 4e46 F7 .byte 0xf7 31271 4e47 30 .uleb128 0x30 31272 4e48 F7 .byte 0xf7 31273 4e49 00 .uleb128 0 31274 4e4a 3F .byte 0x3f 31275 4e4b 1A .byte 0x1a 31276 4e4c 4C .byte 0x4c 31277 4e4d 1E .byte 0x1e 31278 4e4e 23 .byte 0x23 31279 4e4f 3C .uleb128 0x3c 31280 4e50 F3 .byte 0xf3 31281 4e51 03 .uleb128 0x3 31282 4e52 F5 .byte 0xf5 31283 4e53 01 .uleb128 0x1 31284 4e54 29 .uleb128 0x29 31285 4e55 F7 .byte 0xf7 31286 4e56 30 .uleb128 0x30 31287 4e57 F7 .byte 0xf7 31288 4e58 00 .uleb128 0 31289 4e59 3F .byte 0x3f 31290 4e5a 1A .byte 0x1a 31291 4e5b 4C .byte 0x4c 31292 4e5c 1E .byte 0x1e 31293 4e5d F3 .byte 0xf3 31294 4e5e 03 .uleb128 0x3 31295 4e5f F5 .byte 0xf5 31296 4e60 01 .uleb128 0x1 31297 4e61 29 .uleb128 0x29 31298 4e62 F7 .byte 0xf7 31299 4e63 30 .uleb128 0x30 31300 4e64 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1026 31301 4e65 00 .uleb128 0 31302 4e66 09 .byte 0x9 31303 4e67 FC .byte 0xfc 31304 4e68 24 .byte 0x24 31305 4e69 33 .byte 0x33 31306 4e6a 25 .byte 0x25 31307 4e6b 30 .byte 0x30 31308 4e6c 2E .byte 0x2e 31309 4e6d 28 .byte 0x28 31310 4e6e 0100 .2byte 0x1 31311 4e70 16 .byte 0x16 31312 4e71 13 .byte 0x13 31313 4e72 23 .byte 0x23 31314 4e73 FC03 .uleb128 0x1fc 31315 4e75 F3 .byte 0xf3 31316 4e76 03 .uleb128 0x3 31317 4e77 F5 .byte 0xf5 31318 4e78 01 .uleb128 0x1 31319 4e79 29 .uleb128 0x29 31320 4e7a F7 .byte 0xf7 31321 4e7b 30 .uleb128 0x30 31322 4e7c F7 .byte 0xf7 31323 4e7d 00 .uleb128 0 31324 4e7e 3F .byte 0x3f 31325 4e7f 1A .byte 0x1a 31326 4e80 4C .byte 0x4c 31327 4e81 1E .byte 0x1e 31328 4e82 23 .byte 0x23 31329 4e83 3C .uleb128 0x3c 31330 4e84 F3 .byte 0xf3 31331 4e85 03 .uleb128 0x3 31332 4e86 F5 .byte 0xf5 31333 4e87 01 .uleb128 0x1 31334 4e88 29 .uleb128 0x29 31335 4e89 F7 .byte 0xf7 31336 4e8a 30 .uleb128 0x30 31337 4e8b F7 .byte 0xf7 31338 4e8c 00 .uleb128 0 31339 4e8d 3F .byte 0x3f 31340 4e8e 1A .byte 0x1a 31341 4e8f 4C .byte 0x4c 31342 4e90 1E .byte 0x1e 31343 4e91 F3 .byte 0xf3 31344 4e92 03 .uleb128 0x3 31345 4e93 F5 .byte 0xf5 31346 4e94 01 .uleb128 0x1 31347 4e95 29 .uleb128 0x29 31348 4e96 F7 .byte 0xf7 31349 4e97 30 .uleb128 0x30 31350 4e98 F7 .byte 0xf7 31351 4e99 00 .uleb128 0 31352 4e9a 09 .byte 0x9 31353 4e9b FC .byte 0xfc 31354 4e9c 24 .byte 0x24 31355 4e9d 33 .byte 0x33 31356 4e9e 25 .byte 0x25 31357 4e9f 30 .byte 0x30 ARM GAS /tmp/ccJhhmLc.s page 1027 31358 4ea0 2E .byte 0x2e 31359 4ea1 28 .byte 0x28 31360 4ea2 0100 .2byte 0x1 31361 4ea4 16 .byte 0x16 31362 4ea5 13 .byte 0x13 31363 4ea6 F3 .byte 0xf3 31364 4ea7 03 .uleb128 0x3 31365 4ea8 F5 .byte 0xf5 31366 4ea9 01 .uleb128 0x1 31367 4eaa 29 .uleb128 0x29 31368 4eab F7 .byte 0xf7 31369 4eac 30 .uleb128 0x30 31370 4ead F7 .byte 0xf7 31371 4eae 00 .uleb128 0 31372 4eaf 09 .byte 0x9 31373 4eb0 FC .byte 0xfc 31374 4eb1 24 .byte 0x24 31375 4eb2 33 .byte 0x33 31376 4eb3 25 .byte 0x25 31377 4eb4 30 .byte 0x30 31378 4eb5 29 .byte 0x29 31379 4eb6 28 .byte 0x28 31380 4eb7 0100 .2byte 0x1 31381 4eb9 16 .byte 0x16 31382 4eba 13 .byte 0x13 31383 4ebb F3 .byte 0xf3 31384 4ebc 03 .uleb128 0x3 31385 4ebd F5 .byte 0xf5 31386 4ebe 01 .uleb128 0x1 31387 4ebf 29 .uleb128 0x29 31388 4ec0 F7 .byte 0xf7 31389 4ec1 30 .uleb128 0x30 31390 4ec2 F7 .byte 0xf7 31391 4ec3 00 .uleb128 0 31392 4ec4 09 .byte 0x9 31393 4ec5 FC .byte 0xfc 31394 4ec6 24 .byte 0x24 31395 4ec7 33 .byte 0x33 31396 4ec8 25 .byte 0x25 31397 4ec9 30 .byte 0x30 31398 4eca 2E .byte 0x2e 31399 4ecb 28 .byte 0x28 31400 4ecc 0100 .2byte 0x1 31401 4ece 16 .byte 0x16 31402 4ecf 13 .byte 0x13 31403 4ed0 70 .byte 0x70 31404 4ed1 00 .sleb128 0 31405 4ed2 22 .byte 0x22 31406 4ed3 F3 .byte 0xf3 31407 4ed4 03 .uleb128 0x3 31408 4ed5 F5 .byte 0xf5 31409 4ed6 01 .uleb128 0x1 31410 4ed7 29 .uleb128 0x29 31411 4ed8 F7 .byte 0xf7 31412 4ed9 30 .uleb128 0x30 31413 4eda F7 .byte 0xf7 31414 4edb 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1028 31415 4edc 3F .byte 0x3f 31416 4edd 1A .byte 0x1a 31417 4ede 4C .byte 0x4c 31418 4edf 1E .byte 0x1e 31419 4ee0 23 .byte 0x23 31420 4ee1 3C .uleb128 0x3c 31421 4ee2 F3 .byte 0xf3 31422 4ee3 03 .uleb128 0x3 31423 4ee4 F5 .byte 0xf5 31424 4ee5 01 .uleb128 0x1 31425 4ee6 29 .uleb128 0x29 31426 4ee7 F7 .byte 0xf7 31427 4ee8 30 .uleb128 0x30 31428 4ee9 F7 .byte 0xf7 31429 4eea 00 .uleb128 0 31430 4eeb 3F .byte 0x3f 31431 4eec 1A .byte 0x1a 31432 4eed 4C .byte 0x4c 31433 4eee 1E .byte 0x1e 31434 4eef F3 .byte 0xf3 31435 4ef0 03 .uleb128 0x3 31436 4ef1 F5 .byte 0xf5 31437 4ef2 01 .uleb128 0x1 31438 4ef3 29 .uleb128 0x29 31439 4ef4 F7 .byte 0xf7 31440 4ef5 30 .uleb128 0x30 31441 4ef6 F7 .byte 0xf7 31442 4ef7 00 .uleb128 0 31443 4ef8 09 .byte 0x9 31444 4ef9 FC .byte 0xfc 31445 4efa 24 .byte 0x24 31446 4efb 33 .byte 0x33 31447 4efc 25 .byte 0x25 31448 4efd 30 .byte 0x30 31449 4efe 2E .byte 0x2e 31450 4eff 28 .byte 0x28 31451 4f00 0100 .2byte 0x1 31452 4f02 16 .byte 0x16 31453 4f03 13 .byte 0x13 31454 4f04 23 .byte 0x23 31455 4f05 FC03 .uleb128 0x1fc 31456 4f07 F3 .byte 0xf3 31457 4f08 03 .uleb128 0x3 31458 4f09 F5 .byte 0xf5 31459 4f0a 01 .uleb128 0x1 31460 4f0b 29 .uleb128 0x29 31461 4f0c F7 .byte 0xf7 31462 4f0d 30 .uleb128 0x30 31463 4f0e F7 .byte 0xf7 31464 4f0f 00 .uleb128 0 31465 4f10 3F .byte 0x3f 31466 4f11 1A .byte 0x1a 31467 4f12 4C .byte 0x4c 31468 4f13 1E .byte 0x1e 31469 4f14 23 .byte 0x23 31470 4f15 3C .uleb128 0x3c 31471 4f16 F3 .byte 0xf3 ARM GAS /tmp/ccJhhmLc.s page 1029 31472 4f17 03 .uleb128 0x3 31473 4f18 F5 .byte 0xf5 31474 4f19 01 .uleb128 0x1 31475 4f1a 29 .uleb128 0x29 31476 4f1b F7 .byte 0xf7 31477 4f1c 30 .uleb128 0x30 31478 4f1d F7 .byte 0xf7 31479 4f1e 00 .uleb128 0 31480 4f1f 3F .byte 0x3f 31481 4f20 1A .byte 0x1a 31482 4f21 4C .byte 0x4c 31483 4f22 1E .byte 0x1e 31484 4f23 F3 .byte 0xf3 31485 4f24 03 .uleb128 0x3 31486 4f25 F5 .byte 0xf5 31487 4f26 01 .uleb128 0x1 31488 4f27 29 .uleb128 0x29 31489 4f28 F7 .byte 0xf7 31490 4f29 30 .uleb128 0x30 31491 4f2a F7 .byte 0xf7 31492 4f2b 00 .uleb128 0 31493 4f2c 09 .byte 0x9 31494 4f2d FC .byte 0xfc 31495 4f2e 24 .byte 0x24 31496 4f2f 33 .byte 0x33 31497 4f30 25 .byte 0x25 31498 4f31 30 .byte 0x30 31499 4f32 2E .byte 0x2e 31500 4f33 28 .byte 0x28 31501 4f34 0100 .2byte 0x1 31502 4f36 16 .byte 0x16 31503 4f37 13 .byte 0x13 31504 4f38 F3 .byte 0xf3 31505 4f39 03 .uleb128 0x3 31506 4f3a F5 .byte 0xf5 31507 4f3b 01 .uleb128 0x1 31508 4f3c 29 .uleb128 0x29 31509 4f3d F7 .byte 0xf7 31510 4f3e 30 .uleb128 0x30 31511 4f3f F7 .byte 0xf7 31512 4f40 00 .uleb128 0 31513 4f41 09 .byte 0x9 31514 4f42 FC .byte 0xfc 31515 4f43 24 .byte 0x24 31516 4f44 33 .byte 0x33 31517 4f45 25 .byte 0x25 31518 4f46 30 .byte 0x30 31519 4f47 29 .byte 0x29 31520 4f48 28 .byte 0x28 31521 4f49 0100 .2byte 0x1 31522 4f4b 16 .byte 0x16 31523 4f4c 13 .byte 0x13 31524 4f4d 70 .byte 0x70 31525 4f4e 00 .sleb128 0 31526 4f4f 22 .byte 0x22 31527 4f50 F3 .byte 0xf3 31528 4f51 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 1030 31529 4f52 F5 .byte 0xf5 31530 4f53 01 .uleb128 0x1 31531 4f54 29 .uleb128 0x29 31532 4f55 F7 .byte 0xf7 31533 4f56 30 .uleb128 0x30 31534 4f57 F7 .byte 0xf7 31535 4f58 00 .uleb128 0 31536 4f59 3F .byte 0x3f 31537 4f5a 1A .byte 0x1a 31538 4f5b 4C .byte 0x4c 31539 4f5c 1E .byte 0x1e 31540 4f5d 23 .byte 0x23 31541 4f5e 3C .uleb128 0x3c 31542 4f5f F3 .byte 0xf3 31543 4f60 03 .uleb128 0x3 31544 4f61 F5 .byte 0xf5 31545 4f62 01 .uleb128 0x1 31546 4f63 29 .uleb128 0x29 31547 4f64 F7 .byte 0xf7 31548 4f65 30 .uleb128 0x30 31549 4f66 F7 .byte 0xf7 31550 4f67 00 .uleb128 0 31551 4f68 3F .byte 0x3f 31552 4f69 1A .byte 0x1a 31553 4f6a 4C .byte 0x4c 31554 4f6b 1E .byte 0x1e 31555 4f6c F3 .byte 0xf3 31556 4f6d 03 .uleb128 0x3 31557 4f6e F5 .byte 0xf5 31558 4f6f 01 .uleb128 0x1 31559 4f70 29 .uleb128 0x29 31560 4f71 F7 .byte 0xf7 31561 4f72 30 .uleb128 0x30 31562 4f73 F7 .byte 0xf7 31563 4f74 00 .uleb128 0 31564 4f75 09 .byte 0x9 31565 4f76 FC .byte 0xfc 31566 4f77 24 .byte 0x24 31567 4f78 33 .byte 0x33 31568 4f79 25 .byte 0x25 31569 4f7a 30 .byte 0x30 31570 4f7b 2E .byte 0x2e 31571 4f7c 28 .byte 0x28 31572 4f7d 0100 .2byte 0x1 31573 4f7f 16 .byte 0x16 31574 4f80 13 .byte 0x13 31575 4f81 23 .byte 0x23 31576 4f82 FC03 .uleb128 0x1fc 31577 4f84 F3 .byte 0xf3 31578 4f85 03 .uleb128 0x3 31579 4f86 F5 .byte 0xf5 31580 4f87 01 .uleb128 0x1 31581 4f88 29 .uleb128 0x29 31582 4f89 F7 .byte 0xf7 31583 4f8a 30 .uleb128 0x30 31584 4f8b F7 .byte 0xf7 31585 4f8c 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1031 31586 4f8d 3F .byte 0x3f 31587 4f8e 1A .byte 0x1a 31588 4f8f 4C .byte 0x4c 31589 4f90 1E .byte 0x1e 31590 4f91 23 .byte 0x23 31591 4f92 3C .uleb128 0x3c 31592 4f93 F3 .byte 0xf3 31593 4f94 03 .uleb128 0x3 31594 4f95 F5 .byte 0xf5 31595 4f96 01 .uleb128 0x1 31596 4f97 29 .uleb128 0x29 31597 4f98 F7 .byte 0xf7 31598 4f99 30 .uleb128 0x30 31599 4f9a F7 .byte 0xf7 31600 4f9b 00 .uleb128 0 31601 4f9c 3F .byte 0x3f 31602 4f9d 1A .byte 0x1a 31603 4f9e 4C .byte 0x4c 31604 4f9f 1E .byte 0x1e 31605 4fa0 F3 .byte 0xf3 31606 4fa1 03 .uleb128 0x3 31607 4fa2 F5 .byte 0xf5 31608 4fa3 01 .uleb128 0x1 31609 4fa4 29 .uleb128 0x29 31610 4fa5 F7 .byte 0xf7 31611 4fa6 30 .uleb128 0x30 31612 4fa7 F7 .byte 0xf7 31613 4fa8 00 .uleb128 0 31614 4fa9 09 .byte 0x9 31615 4faa FC .byte 0xfc 31616 4fab 24 .byte 0x24 31617 4fac 33 .byte 0x33 31618 4fad 25 .byte 0x25 31619 4fae 30 .byte 0x30 31620 4faf 2E .byte 0x2e 31621 4fb0 28 .byte 0x28 31622 4fb1 0100 .2byte 0x1 31623 4fb3 16 .byte 0x16 31624 4fb4 13 .byte 0x13 31625 4fb5 F3 .byte 0xf3 31626 4fb6 03 .uleb128 0x3 31627 4fb7 F5 .byte 0xf5 31628 4fb8 01 .uleb128 0x1 31629 4fb9 29 .uleb128 0x29 31630 4fba F7 .byte 0xf7 31631 4fbb 30 .uleb128 0x30 31632 4fbc F7 .byte 0xf7 31633 4fbd 00 .uleb128 0 31634 4fbe 09 .byte 0x9 31635 4fbf FC .byte 0xfc 31636 4fc0 24 .byte 0x24 31637 4fc1 33 .byte 0x33 31638 4fc2 25 .byte 0x25 31639 4fc3 30 .byte 0x30 31640 4fc4 29 .byte 0x29 31641 4fc5 28 .byte 0x28 31642 4fc6 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 1032 31643 4fc8 16 .byte 0x16 31644 4fc9 13 .byte 0x13 31645 4fca F3 .byte 0xf3 31646 4fcb 03 .uleb128 0x3 31647 4fcc F5 .byte 0xf5 31648 4fcd 01 .uleb128 0x1 31649 4fce 29 .uleb128 0x29 31650 4fcf F7 .byte 0xf7 31651 4fd0 30 .uleb128 0x30 31652 4fd1 F7 .byte 0xf7 31653 4fd2 00 .uleb128 0 31654 4fd3 09 .byte 0x9 31655 4fd4 FC .byte 0xfc 31656 4fd5 24 .byte 0x24 31657 4fd6 33 .byte 0x33 31658 4fd7 25 .byte 0x25 31659 4fd8 30 .byte 0x30 31660 4fd9 2E .byte 0x2e 31661 4fda 28 .byte 0x28 31662 4fdb 0100 .2byte 0x1 31663 4fdd 16 .byte 0x16 31664 4fde 13 .byte 0x13 31665 4fdf F3 .byte 0xf3 31666 4fe0 03 .uleb128 0x3 31667 4fe1 F5 .byte 0xf5 31668 4fe2 01 .uleb128 0x1 31669 4fe3 29 .uleb128 0x29 31670 4fe4 F7 .byte 0xf7 31671 4fe5 30 .uleb128 0x30 31672 4fe6 F7 .byte 0xf7 31673 4fe7 00 .uleb128 0 31674 4fe8 09 .byte 0x9 31675 4fe9 FC .byte 0xfc 31676 4fea 24 .byte 0x24 31677 4feb 33 .byte 0x33 31678 4fec 25 .byte 0x25 31679 4fed 30 .byte 0x30 31680 4fee 29 .byte 0x29 31681 4fef 28 .byte 0x28 31682 4ff0 0100 .2byte 0x1 31683 4ff2 16 .byte 0x16 31684 4ff3 13 .byte 0x13 31685 4ff4 9F .byte 0x9f 31686 4ff5 98000000 .4byte .LVL547 31687 4ff9 D8000000 .4byte .LFE164 31688 4ffd 3102 .2byte 0x231 31689 4fff F3 .byte 0xf3 31690 5000 03 .uleb128 0x3 31691 5001 F5 .byte 0xf5 31692 5002 01 .uleb128 0x1 31693 5003 29 .uleb128 0x29 31694 5004 F7 .byte 0xf7 31695 5005 30 .uleb128 0x30 31696 5006 F7 .byte 0xf7 31697 5007 00 .uleb128 0 31698 5008 3F .byte 0x3f 31699 5009 1A .byte 0x1a ARM GAS /tmp/ccJhhmLc.s page 1033 31700 500a 4C .byte 0x4c 31701 500b 1E .byte 0x1e 31702 500c 23 .byte 0x23 31703 500d 3C .uleb128 0x3c 31704 500e F3 .byte 0xf3 31705 500f 03 .uleb128 0x3 31706 5010 F5 .byte 0xf5 31707 5011 01 .uleb128 0x1 31708 5012 29 .uleb128 0x29 31709 5013 F7 .byte 0xf7 31710 5014 30 .uleb128 0x30 31711 5015 F7 .byte 0xf7 31712 5016 00 .uleb128 0 31713 5017 3F .byte 0x3f 31714 5018 1A .byte 0x1a 31715 5019 4C .byte 0x4c 31716 501a 1E .byte 0x1e 31717 501b F3 .byte 0xf3 31718 501c 03 .uleb128 0x3 31719 501d F5 .byte 0xf5 31720 501e 01 .uleb128 0x1 31721 501f 29 .uleb128 0x29 31722 5020 F7 .byte 0xf7 31723 5021 30 .uleb128 0x30 31724 5022 F7 .byte 0xf7 31725 5023 00 .uleb128 0 31726 5024 09 .byte 0x9 31727 5025 FC .byte 0xfc 31728 5026 24 .byte 0x24 31729 5027 33 .byte 0x33 31730 5028 25 .byte 0x25 31731 5029 30 .byte 0x30 31732 502a 2E .byte 0x2e 31733 502b 28 .byte 0x28 31734 502c 0100 .2byte 0x1 31735 502e 16 .byte 0x16 31736 502f 13 .byte 0x13 31737 5030 23 .byte 0x23 31738 5031 FC03 .uleb128 0x1fc 31739 5033 F3 .byte 0xf3 31740 5034 03 .uleb128 0x3 31741 5035 F5 .byte 0xf5 31742 5036 01 .uleb128 0x1 31743 5037 29 .uleb128 0x29 31744 5038 F7 .byte 0xf7 31745 5039 30 .uleb128 0x30 31746 503a F7 .byte 0xf7 31747 503b 00 .uleb128 0 31748 503c 3F .byte 0x3f 31749 503d 1A .byte 0x1a 31750 503e 4C .byte 0x4c 31751 503f 1E .byte 0x1e 31752 5040 23 .byte 0x23 31753 5041 3C .uleb128 0x3c 31754 5042 F3 .byte 0xf3 31755 5043 03 .uleb128 0x3 31756 5044 F5 .byte 0xf5 ARM GAS /tmp/ccJhhmLc.s page 1034 31757 5045 01 .uleb128 0x1 31758 5046 29 .uleb128 0x29 31759 5047 F7 .byte 0xf7 31760 5048 30 .uleb128 0x30 31761 5049 F7 .byte 0xf7 31762 504a 00 .uleb128 0 31763 504b 3F .byte 0x3f 31764 504c 1A .byte 0x1a 31765 504d 4C .byte 0x4c 31766 504e 1E .byte 0x1e 31767 504f F3 .byte 0xf3 31768 5050 03 .uleb128 0x3 31769 5051 F5 .byte 0xf5 31770 5052 01 .uleb128 0x1 31771 5053 29 .uleb128 0x29 31772 5054 F7 .byte 0xf7 31773 5055 30 .uleb128 0x30 31774 5056 F7 .byte 0xf7 31775 5057 00 .uleb128 0 31776 5058 09 .byte 0x9 31777 5059 FC .byte 0xfc 31778 505a 24 .byte 0x24 31779 505b 33 .byte 0x33 31780 505c 25 .byte 0x25 31781 505d 30 .byte 0x30 31782 505e 2E .byte 0x2e 31783 505f 28 .byte 0x28 31784 5060 0100 .2byte 0x1 31785 5062 16 .byte 0x16 31786 5063 13 .byte 0x13 31787 5064 F3 .byte 0xf3 31788 5065 03 .uleb128 0x3 31789 5066 F5 .byte 0xf5 31790 5067 01 .uleb128 0x1 31791 5068 29 .uleb128 0x29 31792 5069 F7 .byte 0xf7 31793 506a 30 .uleb128 0x30 31794 506b F7 .byte 0xf7 31795 506c 00 .uleb128 0 31796 506d 09 .byte 0x9 31797 506e FC .byte 0xfc 31798 506f 24 .byte 0x24 31799 5070 33 .byte 0x33 31800 5071 25 .byte 0x25 31801 5072 30 .byte 0x30 31802 5073 29 .byte 0x29 31803 5074 28 .byte 0x28 31804 5075 0100 .2byte 0x1 31805 5077 16 .byte 0x16 31806 5078 13 .byte 0x13 31807 5079 70 .byte 0x70 31808 507a 00 .sleb128 0 31809 507b 22 .byte 0x22 31810 507c F3 .byte 0xf3 31811 507d 03 .uleb128 0x3 31812 507e F5 .byte 0xf5 31813 507f 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1035 31814 5080 29 .uleb128 0x29 31815 5081 F7 .byte 0xf7 31816 5082 30 .uleb128 0x30 31817 5083 F7 .byte 0xf7 31818 5084 00 .uleb128 0 31819 5085 3F .byte 0x3f 31820 5086 1A .byte 0x1a 31821 5087 4C .byte 0x4c 31822 5088 1E .byte 0x1e 31823 5089 23 .byte 0x23 31824 508a 3C .uleb128 0x3c 31825 508b F3 .byte 0xf3 31826 508c 03 .uleb128 0x3 31827 508d F5 .byte 0xf5 31828 508e 01 .uleb128 0x1 31829 508f 29 .uleb128 0x29 31830 5090 F7 .byte 0xf7 31831 5091 30 .uleb128 0x30 31832 5092 F7 .byte 0xf7 31833 5093 00 .uleb128 0 31834 5094 3F .byte 0x3f 31835 5095 1A .byte 0x1a 31836 5096 4C .byte 0x4c 31837 5097 1E .byte 0x1e 31838 5098 F3 .byte 0xf3 31839 5099 03 .uleb128 0x3 31840 509a F5 .byte 0xf5 31841 509b 01 .uleb128 0x1 31842 509c 29 .uleb128 0x29 31843 509d F7 .byte 0xf7 31844 509e 30 .uleb128 0x30 31845 509f F7 .byte 0xf7 31846 50a0 00 .uleb128 0 31847 50a1 09 .byte 0x9 31848 50a2 FC .byte 0xfc 31849 50a3 24 .byte 0x24 31850 50a4 33 .byte 0x33 31851 50a5 25 .byte 0x25 31852 50a6 30 .byte 0x30 31853 50a7 2E .byte 0x2e 31854 50a8 28 .byte 0x28 31855 50a9 0100 .2byte 0x1 31856 50ab 16 .byte 0x16 31857 50ac 13 .byte 0x13 31858 50ad 23 .byte 0x23 31859 50ae FC03 .uleb128 0x1fc 31860 50b0 F3 .byte 0xf3 31861 50b1 03 .uleb128 0x3 31862 50b2 F5 .byte 0xf5 31863 50b3 01 .uleb128 0x1 31864 50b4 29 .uleb128 0x29 31865 50b5 F7 .byte 0xf7 31866 50b6 30 .uleb128 0x30 31867 50b7 F7 .byte 0xf7 31868 50b8 00 .uleb128 0 31869 50b9 3F .byte 0x3f 31870 50ba 1A .byte 0x1a ARM GAS /tmp/ccJhhmLc.s page 1036 31871 50bb 4C .byte 0x4c 31872 50bc 1E .byte 0x1e 31873 50bd 23 .byte 0x23 31874 50be 3C .uleb128 0x3c 31875 50bf F3 .byte 0xf3 31876 50c0 03 .uleb128 0x3 31877 50c1 F5 .byte 0xf5 31878 50c2 01 .uleb128 0x1 31879 50c3 29 .uleb128 0x29 31880 50c4 F7 .byte 0xf7 31881 50c5 30 .uleb128 0x30 31882 50c6 F7 .byte 0xf7 31883 50c7 00 .uleb128 0 31884 50c8 3F .byte 0x3f 31885 50c9 1A .byte 0x1a 31886 50ca 4C .byte 0x4c 31887 50cb 1E .byte 0x1e 31888 50cc F3 .byte 0xf3 31889 50cd 03 .uleb128 0x3 31890 50ce F5 .byte 0xf5 31891 50cf 01 .uleb128 0x1 31892 50d0 29 .uleb128 0x29 31893 50d1 F7 .byte 0xf7 31894 50d2 30 .uleb128 0x30 31895 50d3 F7 .byte 0xf7 31896 50d4 00 .uleb128 0 31897 50d5 09 .byte 0x9 31898 50d6 FC .byte 0xfc 31899 50d7 24 .byte 0x24 31900 50d8 33 .byte 0x33 31901 50d9 25 .byte 0x25 31902 50da 30 .byte 0x30 31903 50db 2E .byte 0x2e 31904 50dc 28 .byte 0x28 31905 50dd 0100 .2byte 0x1 31906 50df 16 .byte 0x16 31907 50e0 13 .byte 0x13 31908 50e1 F3 .byte 0xf3 31909 50e2 03 .uleb128 0x3 31910 50e3 F5 .byte 0xf5 31911 50e4 01 .uleb128 0x1 31912 50e5 29 .uleb128 0x29 31913 50e6 F7 .byte 0xf7 31914 50e7 30 .uleb128 0x30 31915 50e8 F7 .byte 0xf7 31916 50e9 00 .uleb128 0 31917 50ea 09 .byte 0x9 31918 50eb FC .byte 0xfc 31919 50ec 24 .byte 0x24 31920 50ed 33 .byte 0x33 31921 50ee 25 .byte 0x25 31922 50ef 30 .byte 0x30 31923 50f0 29 .byte 0x29 31924 50f1 28 .byte 0x28 31925 50f2 0100 .2byte 0x1 31926 50f4 16 .byte 0x16 31927 50f5 13 .byte 0x13 ARM GAS /tmp/ccJhhmLc.s page 1037 31928 50f6 F3 .byte 0xf3 31929 50f7 03 .uleb128 0x3 31930 50f8 F5 .byte 0xf5 31931 50f9 01 .uleb128 0x1 31932 50fa 29 .uleb128 0x29 31933 50fb F7 .byte 0xf7 31934 50fc 30 .uleb128 0x30 31935 50fd F7 .byte 0xf7 31936 50fe 00 .uleb128 0 31937 50ff 09 .byte 0x9 31938 5100 FC .byte 0xfc 31939 5101 24 .byte 0x24 31940 5102 33 .byte 0x33 31941 5103 25 .byte 0x25 31942 5104 30 .byte 0x30 31943 5105 2E .byte 0x2e 31944 5106 28 .byte 0x28 31945 5107 0100 .2byte 0x1 31946 5109 16 .byte 0x16 31947 510a 13 .byte 0x13 31948 510b 70 .byte 0x70 31949 510c 00 .sleb128 0 31950 510d 22 .byte 0x22 31951 510e F3 .byte 0xf3 31952 510f 03 .uleb128 0x3 31953 5110 F5 .byte 0xf5 31954 5111 01 .uleb128 0x1 31955 5112 29 .uleb128 0x29 31956 5113 F7 .byte 0xf7 31957 5114 30 .uleb128 0x30 31958 5115 F7 .byte 0xf7 31959 5116 00 .uleb128 0 31960 5117 3F .byte 0x3f 31961 5118 1A .byte 0x1a 31962 5119 4C .byte 0x4c 31963 511a 1E .byte 0x1e 31964 511b 23 .byte 0x23 31965 511c 3C .uleb128 0x3c 31966 511d F3 .byte 0xf3 31967 511e 03 .uleb128 0x3 31968 511f F5 .byte 0xf5 31969 5120 01 .uleb128 0x1 31970 5121 29 .uleb128 0x29 31971 5122 F7 .byte 0xf7 31972 5123 30 .uleb128 0x30 31973 5124 F7 .byte 0xf7 31974 5125 00 .uleb128 0 31975 5126 3F .byte 0x3f 31976 5127 1A .byte 0x1a 31977 5128 4C .byte 0x4c 31978 5129 1E .byte 0x1e 31979 512a F3 .byte 0xf3 31980 512b 03 .uleb128 0x3 31981 512c F5 .byte 0xf5 31982 512d 01 .uleb128 0x1 31983 512e 29 .uleb128 0x29 31984 512f F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1038 31985 5130 30 .uleb128 0x30 31986 5131 F7 .byte 0xf7 31987 5132 00 .uleb128 0 31988 5133 09 .byte 0x9 31989 5134 FC .byte 0xfc 31990 5135 24 .byte 0x24 31991 5136 33 .byte 0x33 31992 5137 25 .byte 0x25 31993 5138 30 .byte 0x30 31994 5139 2E .byte 0x2e 31995 513a 28 .byte 0x28 31996 513b 0100 .2byte 0x1 31997 513d 16 .byte 0x16 31998 513e 13 .byte 0x13 31999 513f 23 .byte 0x23 32000 5140 FC03 .uleb128 0x1fc 32001 5142 F3 .byte 0xf3 32002 5143 03 .uleb128 0x3 32003 5144 F5 .byte 0xf5 32004 5145 01 .uleb128 0x1 32005 5146 29 .uleb128 0x29 32006 5147 F7 .byte 0xf7 32007 5148 30 .uleb128 0x30 32008 5149 F7 .byte 0xf7 32009 514a 00 .uleb128 0 32010 514b 3F .byte 0x3f 32011 514c 1A .byte 0x1a 32012 514d 4C .byte 0x4c 32013 514e 1E .byte 0x1e 32014 514f 23 .byte 0x23 32015 5150 3C .uleb128 0x3c 32016 5151 F3 .byte 0xf3 32017 5152 03 .uleb128 0x3 32018 5153 F5 .byte 0xf5 32019 5154 01 .uleb128 0x1 32020 5155 29 .uleb128 0x29 32021 5156 F7 .byte 0xf7 32022 5157 30 .uleb128 0x30 32023 5158 F7 .byte 0xf7 32024 5159 00 .uleb128 0 32025 515a 3F .byte 0x3f 32026 515b 1A .byte 0x1a 32027 515c 4C .byte 0x4c 32028 515d 1E .byte 0x1e 32029 515e F3 .byte 0xf3 32030 515f 03 .uleb128 0x3 32031 5160 F5 .byte 0xf5 32032 5161 01 .uleb128 0x1 32033 5162 29 .uleb128 0x29 32034 5163 F7 .byte 0xf7 32035 5164 30 .uleb128 0x30 32036 5165 F7 .byte 0xf7 32037 5166 00 .uleb128 0 32038 5167 09 .byte 0x9 32039 5168 FC .byte 0xfc 32040 5169 24 .byte 0x24 32041 516a 33 .byte 0x33 ARM GAS /tmp/ccJhhmLc.s page 1039 32042 516b 25 .byte 0x25 32043 516c 30 .byte 0x30 32044 516d 2E .byte 0x2e 32045 516e 28 .byte 0x28 32046 516f 0100 .2byte 0x1 32047 5171 16 .byte 0x16 32048 5172 13 .byte 0x13 32049 5173 F3 .byte 0xf3 32050 5174 03 .uleb128 0x3 32051 5175 F5 .byte 0xf5 32052 5176 01 .uleb128 0x1 32053 5177 29 .uleb128 0x29 32054 5178 F7 .byte 0xf7 32055 5179 30 .uleb128 0x30 32056 517a F7 .byte 0xf7 32057 517b 00 .uleb128 0 32058 517c 09 .byte 0x9 32059 517d FC .byte 0xfc 32060 517e 24 .byte 0x24 32061 517f 33 .byte 0x33 32062 5180 25 .byte 0x25 32063 5181 30 .byte 0x30 32064 5182 29 .byte 0x29 32065 5183 28 .byte 0x28 32066 5184 0100 .2byte 0x1 32067 5186 16 .byte 0x16 32068 5187 13 .byte 0x13 32069 5188 70 .byte 0x70 32070 5189 00 .sleb128 0 32071 518a 22 .byte 0x22 32072 518b F3 .byte 0xf3 32073 518c 03 .uleb128 0x3 32074 518d F5 .byte 0xf5 32075 518e 01 .uleb128 0x1 32076 518f 29 .uleb128 0x29 32077 5190 F7 .byte 0xf7 32078 5191 30 .uleb128 0x30 32079 5192 F7 .byte 0xf7 32080 5193 00 .uleb128 0 32081 5194 3F .byte 0x3f 32082 5195 1A .byte 0x1a 32083 5196 4C .byte 0x4c 32084 5197 1E .byte 0x1e 32085 5198 23 .byte 0x23 32086 5199 3C .uleb128 0x3c 32087 519a F3 .byte 0xf3 32088 519b 03 .uleb128 0x3 32089 519c F5 .byte 0xf5 32090 519d 01 .uleb128 0x1 32091 519e 29 .uleb128 0x29 32092 519f F7 .byte 0xf7 32093 51a0 30 .uleb128 0x30 32094 51a1 F7 .byte 0xf7 32095 51a2 00 .uleb128 0 32096 51a3 3F .byte 0x3f 32097 51a4 1A .byte 0x1a 32098 51a5 4C .byte 0x4c ARM GAS /tmp/ccJhhmLc.s page 1040 32099 51a6 1E .byte 0x1e 32100 51a7 F3 .byte 0xf3 32101 51a8 03 .uleb128 0x3 32102 51a9 F5 .byte 0xf5 32103 51aa 01 .uleb128 0x1 32104 51ab 29 .uleb128 0x29 32105 51ac F7 .byte 0xf7 32106 51ad 30 .uleb128 0x30 32107 51ae F7 .byte 0xf7 32108 51af 00 .uleb128 0 32109 51b0 09 .byte 0x9 32110 51b1 FC .byte 0xfc 32111 51b2 24 .byte 0x24 32112 51b3 33 .byte 0x33 32113 51b4 25 .byte 0x25 32114 51b5 30 .byte 0x30 32115 51b6 2E .byte 0x2e 32116 51b7 28 .byte 0x28 32117 51b8 0100 .2byte 0x1 32118 51ba 16 .byte 0x16 32119 51bb 13 .byte 0x13 32120 51bc 23 .byte 0x23 32121 51bd FC03 .uleb128 0x1fc 32122 51bf F3 .byte 0xf3 32123 51c0 03 .uleb128 0x3 32124 51c1 F5 .byte 0xf5 32125 51c2 01 .uleb128 0x1 32126 51c3 29 .uleb128 0x29 32127 51c4 F7 .byte 0xf7 32128 51c5 30 .uleb128 0x30 32129 51c6 F7 .byte 0xf7 32130 51c7 00 .uleb128 0 32131 51c8 3F .byte 0x3f 32132 51c9 1A .byte 0x1a 32133 51ca 4C .byte 0x4c 32134 51cb 1E .byte 0x1e 32135 51cc 23 .byte 0x23 32136 51cd 3C .uleb128 0x3c 32137 51ce F3 .byte 0xf3 32138 51cf 03 .uleb128 0x3 32139 51d0 F5 .byte 0xf5 32140 51d1 01 .uleb128 0x1 32141 51d2 29 .uleb128 0x29 32142 51d3 F7 .byte 0xf7 32143 51d4 30 .uleb128 0x30 32144 51d5 F7 .byte 0xf7 32145 51d6 00 .uleb128 0 32146 51d7 3F .byte 0x3f 32147 51d8 1A .byte 0x1a 32148 51d9 4C .byte 0x4c 32149 51da 1E .byte 0x1e 32150 51db F3 .byte 0xf3 32151 51dc 03 .uleb128 0x3 32152 51dd F5 .byte 0xf5 32153 51de 01 .uleb128 0x1 32154 51df 29 .uleb128 0x29 32155 51e0 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1041 32156 51e1 30 .uleb128 0x30 32157 51e2 F7 .byte 0xf7 32158 51e3 00 .uleb128 0 32159 51e4 09 .byte 0x9 32160 51e5 FC .byte 0xfc 32161 51e6 24 .byte 0x24 32162 51e7 33 .byte 0x33 32163 51e8 25 .byte 0x25 32164 51e9 30 .byte 0x30 32165 51ea 2E .byte 0x2e 32166 51eb 28 .byte 0x28 32167 51ec 0100 .2byte 0x1 32168 51ee 16 .byte 0x16 32169 51ef 13 .byte 0x13 32170 51f0 F3 .byte 0xf3 32171 51f1 03 .uleb128 0x3 32172 51f2 F5 .byte 0xf5 32173 51f3 01 .uleb128 0x1 32174 51f4 29 .uleb128 0x29 32175 51f5 F7 .byte 0xf7 32176 51f6 30 .uleb128 0x30 32177 51f7 F7 .byte 0xf7 32178 51f8 00 .uleb128 0 32179 51f9 09 .byte 0x9 32180 51fa FC .byte 0xfc 32181 51fb 24 .byte 0x24 32182 51fc 33 .byte 0x33 32183 51fd 25 .byte 0x25 32184 51fe 30 .byte 0x30 32185 51ff 29 .byte 0x29 32186 5200 28 .byte 0x28 32187 5201 0100 .2byte 0x1 32188 5203 16 .byte 0x16 32189 5204 13 .byte 0x13 32190 5205 F3 .byte 0xf3 32191 5206 03 .uleb128 0x3 32192 5207 F5 .byte 0xf5 32193 5208 01 .uleb128 0x1 32194 5209 29 .uleb128 0x29 32195 520a F7 .byte 0xf7 32196 520b 30 .uleb128 0x30 32197 520c F7 .byte 0xf7 32198 520d 00 .uleb128 0 32199 520e 09 .byte 0x9 32200 520f FC .byte 0xfc 32201 5210 24 .byte 0x24 32202 5211 33 .byte 0x33 32203 5212 25 .byte 0x25 32204 5213 30 .byte 0x30 32205 5214 2E .byte 0x2e 32206 5215 28 .byte 0x28 32207 5216 0100 .2byte 0x1 32208 5218 16 .byte 0x16 32209 5219 13 .byte 0x13 32210 521a F3 .byte 0xf3 32211 521b 03 .uleb128 0x3 32212 521c F5 .byte 0xf5 ARM GAS /tmp/ccJhhmLc.s page 1042 32213 521d 01 .uleb128 0x1 32214 521e 29 .uleb128 0x29 32215 521f F7 .byte 0xf7 32216 5220 30 .uleb128 0x30 32217 5221 F7 .byte 0xf7 32218 5222 00 .uleb128 0 32219 5223 09 .byte 0x9 32220 5224 FC .byte 0xfc 32221 5225 24 .byte 0x24 32222 5226 33 .byte 0x33 32223 5227 25 .byte 0x25 32224 5228 30 .byte 0x30 32225 5229 29 .byte 0x29 32226 522a 28 .byte 0x28 32227 522b 0100 .2byte 0x1 32228 522d 16 .byte 0x16 32229 522e 13 .byte 0x13 32230 522f 9F .byte 0x9f 32231 5230 00000000 .4byte 0 32232 5234 00000000 .4byte 0 32233 .LVUS357: 32234 5238 00 .uleb128 .LVU2564 32235 5239 00 .uleb128 .LVU2584 32236 523a 00 .uleb128 .LVU2588 32237 523b 00 .uleb128 .LVU2589 32238 523c 00 .uleb128 .LVU2589 32239 523d 00 .uleb128 0 32240 .LLST357: 32241 523e 44000000 .4byte .LVL540 32242 5242 90000000 .4byte .LVL545 32243 5246 0200 .2byte 0x2 32244 5248 70 .byte 0x70 32245 5249 00 .sleb128 0 32246 524a 98000000 .4byte .LVL547 32247 524e 9C000000 .4byte .LVL548 32248 5252 0100 .2byte 0x1 32249 5254 53 .byte 0x53 32250 5255 9C000000 .4byte .LVL548 32251 5259 D8000000 .4byte .LFE164 32252 525d 0200 .2byte 0x2 32253 525f 70 .byte 0x70 32254 5260 00 .sleb128 0 32255 5261 00000000 .4byte 0 32256 5265 00000000 .4byte 0 32257 .LVUS358: 32258 5269 00 .uleb128 .LVU2566 32259 526a 00 .uleb128 .LVU2584 32260 526b 00 .uleb128 .LVU2588 32261 526c 00 .uleb128 .LVU2589 32262 526d 00 .uleb128 .LVU2589 32263 526e 00 .uleb128 0 32264 .LLST358: 32265 526f 48000000 .4byte .LVL542 32266 5273 90000000 .4byte .LVL545 32267 5277 0200 .2byte 0x2 32268 5279 70 .byte 0x70 32269 527a 00 .sleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1043 32270 527b 98000000 .4byte .LVL547 32271 527f 9C000000 .4byte .LVL548 32272 5283 0100 .2byte 0x1 32273 5285 53 .byte 0x53 32274 5286 9C000000 .4byte .LVL548 32275 528a D8000000 .4byte .LFE164 32276 528e 0200 .2byte 0x2 32277 5290 70 .byte 0x70 32278 5291 00 .sleb128 0 32279 5292 00000000 .4byte 0 32280 5296 00000000 .4byte 0 32281 .LVUS359: 32282 529a 00 .uleb128 .LVU2566 32283 529b 00 .uleb128 .LVU2568 32284 529c 00 .uleb128 .LVU2568 32285 529d 00 .uleb128 .LVU2574 32286 529e 00 .uleb128 .LVU2588 32287 529f 00 .uleb128 .LVU2593 32288 .LLST359: 32289 52a0 48000000 .4byte .LVL542 32290 52a4 56000000 .4byte .LVL543 32291 52a8 0600 .2byte 0x6 32292 52aa 74 .byte 0x74 32293 52ab 00 .sleb128 0 32294 52ac 08 .byte 0x8 32295 52ad FF .byte 0xff 32296 52ae 1A .byte 0x1a 32297 52af 9F .byte 0x9f 32298 52b0 56000000 .4byte .LVL543 32299 52b4 6A000000 .4byte .LVL544 32300 52b8 3602 .2byte 0x236 32301 52ba F3 .byte 0xf3 32302 52bb 03 .uleb128 0x3 32303 52bc F5 .byte 0xf5 32304 52bd 01 .uleb128 0x1 32305 52be 29 .uleb128 0x29 32306 52bf F7 .byte 0xf7 32307 52c0 30 .uleb128 0x30 32308 52c1 F7 .byte 0xf7 32309 52c2 00 .uleb128 0 32310 52c3 3F .byte 0x3f 32311 52c4 1A .byte 0x1a 32312 52c5 4C .byte 0x4c 32313 52c6 1E .byte 0x1e 32314 52c7 23 .byte 0x23 32315 52c8 3C .uleb128 0x3c 32316 52c9 F3 .byte 0xf3 32317 52ca 03 .uleb128 0x3 32318 52cb F5 .byte 0xf5 32319 52cc 01 .uleb128 0x1 32320 52cd 29 .uleb128 0x29 32321 52ce F7 .byte 0xf7 32322 52cf 30 .uleb128 0x30 32323 52d0 F7 .byte 0xf7 32324 52d1 00 .uleb128 0 32325 52d2 3F .byte 0x3f 32326 52d3 1A .byte 0x1a ARM GAS /tmp/ccJhhmLc.s page 1044 32327 52d4 4C .byte 0x4c 32328 52d5 1E .byte 0x1e 32329 52d6 F3 .byte 0xf3 32330 52d7 03 .uleb128 0x3 32331 52d8 F5 .byte 0xf5 32332 52d9 01 .uleb128 0x1 32333 52da 29 .uleb128 0x29 32334 52db F7 .byte 0xf7 32335 52dc 30 .uleb128 0x30 32336 52dd F7 .byte 0xf7 32337 52de 00 .uleb128 0 32338 52df 09 .byte 0x9 32339 52e0 FC .byte 0xfc 32340 52e1 24 .byte 0x24 32341 52e2 33 .byte 0x33 32342 52e3 25 .byte 0x25 32343 52e4 30 .byte 0x30 32344 52e5 2E .byte 0x2e 32345 52e6 28 .byte 0x28 32346 52e7 0100 .2byte 0x1 32347 52e9 16 .byte 0x16 32348 52ea 13 .byte 0x13 32349 52eb 23 .byte 0x23 32350 52ec FC03 .uleb128 0x1fc 32351 52ee F3 .byte 0xf3 32352 52ef 03 .uleb128 0x3 32353 52f0 F5 .byte 0xf5 32354 52f1 01 .uleb128 0x1 32355 52f2 29 .uleb128 0x29 32356 52f3 F7 .byte 0xf7 32357 52f4 30 .uleb128 0x30 32358 52f5 F7 .byte 0xf7 32359 52f6 00 .uleb128 0 32360 52f7 3F .byte 0x3f 32361 52f8 1A .byte 0x1a 32362 52f9 4C .byte 0x4c 32363 52fa 1E .byte 0x1e 32364 52fb 23 .byte 0x23 32365 52fc 3C .uleb128 0x3c 32366 52fd F3 .byte 0xf3 32367 52fe 03 .uleb128 0x3 32368 52ff F5 .byte 0xf5 32369 5300 01 .uleb128 0x1 32370 5301 29 .uleb128 0x29 32371 5302 F7 .byte 0xf7 32372 5303 30 .uleb128 0x30 32373 5304 F7 .byte 0xf7 32374 5305 00 .uleb128 0 32375 5306 3F .byte 0x3f 32376 5307 1A .byte 0x1a 32377 5308 4C .byte 0x4c 32378 5309 1E .byte 0x1e 32379 530a F3 .byte 0xf3 32380 530b 03 .uleb128 0x3 32381 530c F5 .byte 0xf5 32382 530d 01 .uleb128 0x1 32383 530e 29 .uleb128 0x29 ARM GAS /tmp/ccJhhmLc.s page 1045 32384 530f F7 .byte 0xf7 32385 5310 30 .uleb128 0x30 32386 5311 F7 .byte 0xf7 32387 5312 00 .uleb128 0 32388 5313 09 .byte 0x9 32389 5314 FC .byte 0xfc 32390 5315 24 .byte 0x24 32391 5316 33 .byte 0x33 32392 5317 25 .byte 0x25 32393 5318 30 .byte 0x30 32394 5319 2E .byte 0x2e 32395 531a 28 .byte 0x28 32396 531b 0100 .2byte 0x1 32397 531d 16 .byte 0x16 32398 531e 13 .byte 0x13 32399 531f F3 .byte 0xf3 32400 5320 03 .uleb128 0x3 32401 5321 F5 .byte 0xf5 32402 5322 01 .uleb128 0x1 32403 5323 29 .uleb128 0x29 32404 5324 F7 .byte 0xf7 32405 5325 30 .uleb128 0x30 32406 5326 F7 .byte 0xf7 32407 5327 00 .uleb128 0 32408 5328 09 .byte 0x9 32409 5329 FC .byte 0xfc 32410 532a 24 .byte 0x24 32411 532b 33 .byte 0x33 32412 532c 25 .byte 0x25 32413 532d 30 .byte 0x30 32414 532e 29 .byte 0x29 32415 532f 28 .byte 0x28 32416 5330 0100 .2byte 0x1 32417 5332 16 .byte 0x16 32418 5333 13 .byte 0x13 32419 5334 70 .byte 0x70 32420 5335 00 .sleb128 0 32421 5336 22 .byte 0x22 32422 5337 F3 .byte 0xf3 32423 5338 03 .uleb128 0x3 32424 5339 F5 .byte 0xf5 32425 533a 01 .uleb128 0x1 32426 533b 29 .uleb128 0x29 32427 533c F7 .byte 0xf7 32428 533d 30 .uleb128 0x30 32429 533e F7 .byte 0xf7 32430 533f 00 .uleb128 0 32431 5340 3F .byte 0x3f 32432 5341 1A .byte 0x1a 32433 5342 4C .byte 0x4c 32434 5343 1E .byte 0x1e 32435 5344 23 .byte 0x23 32436 5345 3C .uleb128 0x3c 32437 5346 F3 .byte 0xf3 32438 5347 03 .uleb128 0x3 32439 5348 F5 .byte 0xf5 32440 5349 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1046 32441 534a 29 .uleb128 0x29 32442 534b F7 .byte 0xf7 32443 534c 30 .uleb128 0x30 32444 534d F7 .byte 0xf7 32445 534e 00 .uleb128 0 32446 534f 3F .byte 0x3f 32447 5350 1A .byte 0x1a 32448 5351 4C .byte 0x4c 32449 5352 1E .byte 0x1e 32450 5353 F3 .byte 0xf3 32451 5354 03 .uleb128 0x3 32452 5355 F5 .byte 0xf5 32453 5356 01 .uleb128 0x1 32454 5357 29 .uleb128 0x29 32455 5358 F7 .byte 0xf7 32456 5359 30 .uleb128 0x30 32457 535a F7 .byte 0xf7 32458 535b 00 .uleb128 0 32459 535c 09 .byte 0x9 32460 535d FC .byte 0xfc 32461 535e 24 .byte 0x24 32462 535f 33 .byte 0x33 32463 5360 25 .byte 0x25 32464 5361 30 .byte 0x30 32465 5362 2E .byte 0x2e 32466 5363 28 .byte 0x28 32467 5364 0100 .2byte 0x1 32468 5366 16 .byte 0x16 32469 5367 13 .byte 0x13 32470 5368 23 .byte 0x23 32471 5369 FC03 .uleb128 0x1fc 32472 536b F3 .byte 0xf3 32473 536c 03 .uleb128 0x3 32474 536d F5 .byte 0xf5 32475 536e 01 .uleb128 0x1 32476 536f 29 .uleb128 0x29 32477 5370 F7 .byte 0xf7 32478 5371 30 .uleb128 0x30 32479 5372 F7 .byte 0xf7 32480 5373 00 .uleb128 0 32481 5374 3F .byte 0x3f 32482 5375 1A .byte 0x1a 32483 5376 4C .byte 0x4c 32484 5377 1E .byte 0x1e 32485 5378 23 .byte 0x23 32486 5379 3C .uleb128 0x3c 32487 537a F3 .byte 0xf3 32488 537b 03 .uleb128 0x3 32489 537c F5 .byte 0xf5 32490 537d 01 .uleb128 0x1 32491 537e 29 .uleb128 0x29 32492 537f F7 .byte 0xf7 32493 5380 30 .uleb128 0x30 32494 5381 F7 .byte 0xf7 32495 5382 00 .uleb128 0 32496 5383 3F .byte 0x3f 32497 5384 1A .byte 0x1a ARM GAS /tmp/ccJhhmLc.s page 1047 32498 5385 4C .byte 0x4c 32499 5386 1E .byte 0x1e 32500 5387 F3 .byte 0xf3 32501 5388 03 .uleb128 0x3 32502 5389 F5 .byte 0xf5 32503 538a 01 .uleb128 0x1 32504 538b 29 .uleb128 0x29 32505 538c F7 .byte 0xf7 32506 538d 30 .uleb128 0x30 32507 538e F7 .byte 0xf7 32508 538f 00 .uleb128 0 32509 5390 09 .byte 0x9 32510 5391 FC .byte 0xfc 32511 5392 24 .byte 0x24 32512 5393 33 .byte 0x33 32513 5394 25 .byte 0x25 32514 5395 30 .byte 0x30 32515 5396 2E .byte 0x2e 32516 5397 28 .byte 0x28 32517 5398 0100 .2byte 0x1 32518 539a 16 .byte 0x16 32519 539b 13 .byte 0x13 32520 539c F3 .byte 0xf3 32521 539d 03 .uleb128 0x3 32522 539e F5 .byte 0xf5 32523 539f 01 .uleb128 0x1 32524 53a0 29 .uleb128 0x29 32525 53a1 F7 .byte 0xf7 32526 53a2 30 .uleb128 0x30 32527 53a3 F7 .byte 0xf7 32528 53a4 00 .uleb128 0 32529 53a5 09 .byte 0x9 32530 53a6 FC .byte 0xfc 32531 53a7 24 .byte 0x24 32532 53a8 33 .byte 0x33 32533 53a9 25 .byte 0x25 32534 53aa 30 .byte 0x30 32535 53ab 29 .byte 0x29 32536 53ac 28 .byte 0x28 32537 53ad 0100 .2byte 0x1 32538 53af 16 .byte 0x16 32539 53b0 13 .byte 0x13 32540 53b1 F3 .byte 0xf3 32541 53b2 03 .uleb128 0x3 32542 53b3 F5 .byte 0xf5 32543 53b4 01 .uleb128 0x1 32544 53b5 29 .uleb128 0x29 32545 53b6 F7 .byte 0xf7 32546 53b7 30 .uleb128 0x30 32547 53b8 F7 .byte 0xf7 32548 53b9 00 .uleb128 0 32549 53ba 09 .byte 0x9 32550 53bb FC .byte 0xfc 32551 53bc 24 .byte 0x24 32552 53bd 33 .byte 0x33 32553 53be 25 .byte 0x25 32554 53bf 30 .byte 0x30 ARM GAS /tmp/ccJhhmLc.s page 1048 32555 53c0 2E .byte 0x2e 32556 53c1 28 .byte 0x28 32557 53c2 0100 .2byte 0x1 32558 53c4 16 .byte 0x16 32559 53c5 13 .byte 0x13 32560 53c6 70 .byte 0x70 32561 53c7 00 .sleb128 0 32562 53c8 22 .byte 0x22 32563 53c9 F3 .byte 0xf3 32564 53ca 03 .uleb128 0x3 32565 53cb F5 .byte 0xf5 32566 53cc 01 .uleb128 0x1 32567 53cd 29 .uleb128 0x29 32568 53ce F7 .byte 0xf7 32569 53cf 30 .uleb128 0x30 32570 53d0 F7 .byte 0xf7 32571 53d1 00 .uleb128 0 32572 53d2 3F .byte 0x3f 32573 53d3 1A .byte 0x1a 32574 53d4 4C .byte 0x4c 32575 53d5 1E .byte 0x1e 32576 53d6 23 .byte 0x23 32577 53d7 3C .uleb128 0x3c 32578 53d8 F3 .byte 0xf3 32579 53d9 03 .uleb128 0x3 32580 53da F5 .byte 0xf5 32581 53db 01 .uleb128 0x1 32582 53dc 29 .uleb128 0x29 32583 53dd F7 .byte 0xf7 32584 53de 30 .uleb128 0x30 32585 53df F7 .byte 0xf7 32586 53e0 00 .uleb128 0 32587 53e1 3F .byte 0x3f 32588 53e2 1A .byte 0x1a 32589 53e3 4C .byte 0x4c 32590 53e4 1E .byte 0x1e 32591 53e5 F3 .byte 0xf3 32592 53e6 03 .uleb128 0x3 32593 53e7 F5 .byte 0xf5 32594 53e8 01 .uleb128 0x1 32595 53e9 29 .uleb128 0x29 32596 53ea F7 .byte 0xf7 32597 53eb 30 .uleb128 0x30 32598 53ec F7 .byte 0xf7 32599 53ed 00 .uleb128 0 32600 53ee 09 .byte 0x9 32601 53ef FC .byte 0xfc 32602 53f0 24 .byte 0x24 32603 53f1 33 .byte 0x33 32604 53f2 25 .byte 0x25 32605 53f3 30 .byte 0x30 32606 53f4 2E .byte 0x2e 32607 53f5 28 .byte 0x28 32608 53f6 0100 .2byte 0x1 32609 53f8 16 .byte 0x16 32610 53f9 13 .byte 0x13 32611 53fa 23 .byte 0x23 ARM GAS /tmp/ccJhhmLc.s page 1049 32612 53fb FC03 .uleb128 0x1fc 32613 53fd F3 .byte 0xf3 32614 53fe 03 .uleb128 0x3 32615 53ff F5 .byte 0xf5 32616 5400 01 .uleb128 0x1 32617 5401 29 .uleb128 0x29 32618 5402 F7 .byte 0xf7 32619 5403 30 .uleb128 0x30 32620 5404 F7 .byte 0xf7 32621 5405 00 .uleb128 0 32622 5406 3F .byte 0x3f 32623 5407 1A .byte 0x1a 32624 5408 4C .byte 0x4c 32625 5409 1E .byte 0x1e 32626 540a 23 .byte 0x23 32627 540b 3C .uleb128 0x3c 32628 540c F3 .byte 0xf3 32629 540d 03 .uleb128 0x3 32630 540e F5 .byte 0xf5 32631 540f 01 .uleb128 0x1 32632 5410 29 .uleb128 0x29 32633 5411 F7 .byte 0xf7 32634 5412 30 .uleb128 0x30 32635 5413 F7 .byte 0xf7 32636 5414 00 .uleb128 0 32637 5415 3F .byte 0x3f 32638 5416 1A .byte 0x1a 32639 5417 4C .byte 0x4c 32640 5418 1E .byte 0x1e 32641 5419 F3 .byte 0xf3 32642 541a 03 .uleb128 0x3 32643 541b F5 .byte 0xf5 32644 541c 01 .uleb128 0x1 32645 541d 29 .uleb128 0x29 32646 541e F7 .byte 0xf7 32647 541f 30 .uleb128 0x30 32648 5420 F7 .byte 0xf7 32649 5421 00 .uleb128 0 32650 5422 09 .byte 0x9 32651 5423 FC .byte 0xfc 32652 5424 24 .byte 0x24 32653 5425 33 .byte 0x33 32654 5426 25 .byte 0x25 32655 5427 30 .byte 0x30 32656 5428 2E .byte 0x2e 32657 5429 28 .byte 0x28 32658 542a 0100 .2byte 0x1 32659 542c 16 .byte 0x16 32660 542d 13 .byte 0x13 32661 542e F3 .byte 0xf3 32662 542f 03 .uleb128 0x3 32663 5430 F5 .byte 0xf5 32664 5431 01 .uleb128 0x1 32665 5432 29 .uleb128 0x29 32666 5433 F7 .byte 0xf7 32667 5434 30 .uleb128 0x30 32668 5435 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1050 32669 5436 00 .uleb128 0 32670 5437 09 .byte 0x9 32671 5438 FC .byte 0xfc 32672 5439 24 .byte 0x24 32673 543a 33 .byte 0x33 32674 543b 25 .byte 0x25 32675 543c 30 .byte 0x30 32676 543d 29 .byte 0x29 32677 543e 28 .byte 0x28 32678 543f 0100 .2byte 0x1 32679 5441 16 .byte 0x16 32680 5442 13 .byte 0x13 32681 5443 70 .byte 0x70 32682 5444 00 .sleb128 0 32683 5445 22 .byte 0x22 32684 5446 F3 .byte 0xf3 32685 5447 03 .uleb128 0x3 32686 5448 F5 .byte 0xf5 32687 5449 01 .uleb128 0x1 32688 544a 29 .uleb128 0x29 32689 544b F7 .byte 0xf7 32690 544c 30 .uleb128 0x30 32691 544d F7 .byte 0xf7 32692 544e 00 .uleb128 0 32693 544f 3F .byte 0x3f 32694 5450 1A .byte 0x1a 32695 5451 4C .byte 0x4c 32696 5452 1E .byte 0x1e 32697 5453 23 .byte 0x23 32698 5454 3C .uleb128 0x3c 32699 5455 F3 .byte 0xf3 32700 5456 03 .uleb128 0x3 32701 5457 F5 .byte 0xf5 32702 5458 01 .uleb128 0x1 32703 5459 29 .uleb128 0x29 32704 545a F7 .byte 0xf7 32705 545b 30 .uleb128 0x30 32706 545c F7 .byte 0xf7 32707 545d 00 .uleb128 0 32708 545e 3F .byte 0x3f 32709 545f 1A .byte 0x1a 32710 5460 4C .byte 0x4c 32711 5461 1E .byte 0x1e 32712 5462 F3 .byte 0xf3 32713 5463 03 .uleb128 0x3 32714 5464 F5 .byte 0xf5 32715 5465 01 .uleb128 0x1 32716 5466 29 .uleb128 0x29 32717 5467 F7 .byte 0xf7 32718 5468 30 .uleb128 0x30 32719 5469 F7 .byte 0xf7 32720 546a 00 .uleb128 0 32721 546b 09 .byte 0x9 32722 546c FC .byte 0xfc 32723 546d 24 .byte 0x24 32724 546e 33 .byte 0x33 32725 546f 25 .byte 0x25 ARM GAS /tmp/ccJhhmLc.s page 1051 32726 5470 30 .byte 0x30 32727 5471 2E .byte 0x2e 32728 5472 28 .byte 0x28 32729 5473 0100 .2byte 0x1 32730 5475 16 .byte 0x16 32731 5476 13 .byte 0x13 32732 5477 23 .byte 0x23 32733 5478 FC03 .uleb128 0x1fc 32734 547a F3 .byte 0xf3 32735 547b 03 .uleb128 0x3 32736 547c F5 .byte 0xf5 32737 547d 01 .uleb128 0x1 32738 547e 29 .uleb128 0x29 32739 547f F7 .byte 0xf7 32740 5480 30 .uleb128 0x30 32741 5481 F7 .byte 0xf7 32742 5482 00 .uleb128 0 32743 5483 3F .byte 0x3f 32744 5484 1A .byte 0x1a 32745 5485 4C .byte 0x4c 32746 5486 1E .byte 0x1e 32747 5487 23 .byte 0x23 32748 5488 3C .uleb128 0x3c 32749 5489 F3 .byte 0xf3 32750 548a 03 .uleb128 0x3 32751 548b F5 .byte 0xf5 32752 548c 01 .uleb128 0x1 32753 548d 29 .uleb128 0x29 32754 548e F7 .byte 0xf7 32755 548f 30 .uleb128 0x30 32756 5490 F7 .byte 0xf7 32757 5491 00 .uleb128 0 32758 5492 3F .byte 0x3f 32759 5493 1A .byte 0x1a 32760 5494 4C .byte 0x4c 32761 5495 1E .byte 0x1e 32762 5496 F3 .byte 0xf3 32763 5497 03 .uleb128 0x3 32764 5498 F5 .byte 0xf5 32765 5499 01 .uleb128 0x1 32766 549a 29 .uleb128 0x29 32767 549b F7 .byte 0xf7 32768 549c 30 .uleb128 0x30 32769 549d F7 .byte 0xf7 32770 549e 00 .uleb128 0 32771 549f 09 .byte 0x9 32772 54a0 FC .byte 0xfc 32773 54a1 24 .byte 0x24 32774 54a2 33 .byte 0x33 32775 54a3 25 .byte 0x25 32776 54a4 30 .byte 0x30 32777 54a5 2E .byte 0x2e 32778 54a6 28 .byte 0x28 32779 54a7 0100 .2byte 0x1 32780 54a9 16 .byte 0x16 32781 54aa 13 .byte 0x13 32782 54ab F3 .byte 0xf3 ARM GAS /tmp/ccJhhmLc.s page 1052 32783 54ac 03 .uleb128 0x3 32784 54ad F5 .byte 0xf5 32785 54ae 01 .uleb128 0x1 32786 54af 29 .uleb128 0x29 32787 54b0 F7 .byte 0xf7 32788 54b1 30 .uleb128 0x30 32789 54b2 F7 .byte 0xf7 32790 54b3 00 .uleb128 0 32791 54b4 09 .byte 0x9 32792 54b5 FC .byte 0xfc 32793 54b6 24 .byte 0x24 32794 54b7 33 .byte 0x33 32795 54b8 25 .byte 0x25 32796 54b9 30 .byte 0x30 32797 54ba 29 .byte 0x29 32798 54bb 28 .byte 0x28 32799 54bc 0100 .2byte 0x1 32800 54be 16 .byte 0x16 32801 54bf 13 .byte 0x13 32802 54c0 F3 .byte 0xf3 32803 54c1 03 .uleb128 0x3 32804 54c2 F5 .byte 0xf5 32805 54c3 01 .uleb128 0x1 32806 54c4 29 .uleb128 0x29 32807 54c5 F7 .byte 0xf7 32808 54c6 30 .uleb128 0x30 32809 54c7 F7 .byte 0xf7 32810 54c8 00 .uleb128 0 32811 54c9 09 .byte 0x9 32812 54ca FC .byte 0xfc 32813 54cb 24 .byte 0x24 32814 54cc 33 .byte 0x33 32815 54cd 25 .byte 0x25 32816 54ce 30 .byte 0x30 32817 54cf 2E .byte 0x2e 32818 54d0 28 .byte 0x28 32819 54d1 0100 .2byte 0x1 32820 54d3 16 .byte 0x16 32821 54d4 13 .byte 0x13 32822 54d5 F3 .byte 0xf3 32823 54d6 03 .uleb128 0x3 32824 54d7 F5 .byte 0xf5 32825 54d8 01 .uleb128 0x1 32826 54d9 29 .uleb128 0x29 32827 54da F7 .byte 0xf7 32828 54db 30 .uleb128 0x30 32829 54dc F7 .byte 0xf7 32830 54dd 00 .uleb128 0 32831 54de 09 .byte 0x9 32832 54df FC .byte 0xfc 32833 54e0 24 .byte 0x24 32834 54e1 33 .byte 0x33 32835 54e2 25 .byte 0x25 32836 54e3 30 .byte 0x30 32837 54e4 29 .byte 0x29 32838 54e5 28 .byte 0x28 32839 54e6 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 1053 32840 54e8 16 .byte 0x16 32841 54e9 13 .byte 0x13 32842 54ea 94 .byte 0x94 32843 54eb 01 .byte 0x1 32844 54ec 08 .byte 0x8 32845 54ed FF .byte 0xff 32846 54ee 1A .byte 0x1a 32847 54ef 9F .byte 0x9f 32848 54f0 98000000 .4byte .LVL547 32849 54f4 AA000000 .4byte .LVL549 32850 54f8 3602 .2byte 0x236 32851 54fa F3 .byte 0xf3 32852 54fb 03 .uleb128 0x3 32853 54fc F5 .byte 0xf5 32854 54fd 01 .uleb128 0x1 32855 54fe 29 .uleb128 0x29 32856 54ff F7 .byte 0xf7 32857 5500 30 .uleb128 0x30 32858 5501 F7 .byte 0xf7 32859 5502 00 .uleb128 0 32860 5503 3F .byte 0x3f 32861 5504 1A .byte 0x1a 32862 5505 4C .byte 0x4c 32863 5506 1E .byte 0x1e 32864 5507 23 .byte 0x23 32865 5508 3C .uleb128 0x3c 32866 5509 F3 .byte 0xf3 32867 550a 03 .uleb128 0x3 32868 550b F5 .byte 0xf5 32869 550c 01 .uleb128 0x1 32870 550d 29 .uleb128 0x29 32871 550e F7 .byte 0xf7 32872 550f 30 .uleb128 0x30 32873 5510 F7 .byte 0xf7 32874 5511 00 .uleb128 0 32875 5512 3F .byte 0x3f 32876 5513 1A .byte 0x1a 32877 5514 4C .byte 0x4c 32878 5515 1E .byte 0x1e 32879 5516 F3 .byte 0xf3 32880 5517 03 .uleb128 0x3 32881 5518 F5 .byte 0xf5 32882 5519 01 .uleb128 0x1 32883 551a 29 .uleb128 0x29 32884 551b F7 .byte 0xf7 32885 551c 30 .uleb128 0x30 32886 551d F7 .byte 0xf7 32887 551e 00 .uleb128 0 32888 551f 09 .byte 0x9 32889 5520 FC .byte 0xfc 32890 5521 24 .byte 0x24 32891 5522 33 .byte 0x33 32892 5523 25 .byte 0x25 32893 5524 30 .byte 0x30 32894 5525 2E .byte 0x2e 32895 5526 28 .byte 0x28 32896 5527 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 1054 32897 5529 16 .byte 0x16 32898 552a 13 .byte 0x13 32899 552b 23 .byte 0x23 32900 552c FC03 .uleb128 0x1fc 32901 552e F3 .byte 0xf3 32902 552f 03 .uleb128 0x3 32903 5530 F5 .byte 0xf5 32904 5531 01 .uleb128 0x1 32905 5532 29 .uleb128 0x29 32906 5533 F7 .byte 0xf7 32907 5534 30 .uleb128 0x30 32908 5535 F7 .byte 0xf7 32909 5536 00 .uleb128 0 32910 5537 3F .byte 0x3f 32911 5538 1A .byte 0x1a 32912 5539 4C .byte 0x4c 32913 553a 1E .byte 0x1e 32914 553b 23 .byte 0x23 32915 553c 3C .uleb128 0x3c 32916 553d F3 .byte 0xf3 32917 553e 03 .uleb128 0x3 32918 553f F5 .byte 0xf5 32919 5540 01 .uleb128 0x1 32920 5541 29 .uleb128 0x29 32921 5542 F7 .byte 0xf7 32922 5543 30 .uleb128 0x30 32923 5544 F7 .byte 0xf7 32924 5545 00 .uleb128 0 32925 5546 3F .byte 0x3f 32926 5547 1A .byte 0x1a 32927 5548 4C .byte 0x4c 32928 5549 1E .byte 0x1e 32929 554a F3 .byte 0xf3 32930 554b 03 .uleb128 0x3 32931 554c F5 .byte 0xf5 32932 554d 01 .uleb128 0x1 32933 554e 29 .uleb128 0x29 32934 554f F7 .byte 0xf7 32935 5550 30 .uleb128 0x30 32936 5551 F7 .byte 0xf7 32937 5552 00 .uleb128 0 32938 5553 09 .byte 0x9 32939 5554 FC .byte 0xfc 32940 5555 24 .byte 0x24 32941 5556 33 .byte 0x33 32942 5557 25 .byte 0x25 32943 5558 30 .byte 0x30 32944 5559 2E .byte 0x2e 32945 555a 28 .byte 0x28 32946 555b 0100 .2byte 0x1 32947 555d 16 .byte 0x16 32948 555e 13 .byte 0x13 32949 555f F3 .byte 0xf3 32950 5560 03 .uleb128 0x3 32951 5561 F5 .byte 0xf5 32952 5562 01 .uleb128 0x1 32953 5563 29 .uleb128 0x29 ARM GAS /tmp/ccJhhmLc.s page 1055 32954 5564 F7 .byte 0xf7 32955 5565 30 .uleb128 0x30 32956 5566 F7 .byte 0xf7 32957 5567 00 .uleb128 0 32958 5568 09 .byte 0x9 32959 5569 FC .byte 0xfc 32960 556a 24 .byte 0x24 32961 556b 33 .byte 0x33 32962 556c 25 .byte 0x25 32963 556d 30 .byte 0x30 32964 556e 29 .byte 0x29 32965 556f 28 .byte 0x28 32966 5570 0100 .2byte 0x1 32967 5572 16 .byte 0x16 32968 5573 13 .byte 0x13 32969 5574 70 .byte 0x70 32970 5575 00 .sleb128 0 32971 5576 22 .byte 0x22 32972 5577 F3 .byte 0xf3 32973 5578 03 .uleb128 0x3 32974 5579 F5 .byte 0xf5 32975 557a 01 .uleb128 0x1 32976 557b 29 .uleb128 0x29 32977 557c F7 .byte 0xf7 32978 557d 30 .uleb128 0x30 32979 557e F7 .byte 0xf7 32980 557f 00 .uleb128 0 32981 5580 3F .byte 0x3f 32982 5581 1A .byte 0x1a 32983 5582 4C .byte 0x4c 32984 5583 1E .byte 0x1e 32985 5584 23 .byte 0x23 32986 5585 3C .uleb128 0x3c 32987 5586 F3 .byte 0xf3 32988 5587 03 .uleb128 0x3 32989 5588 F5 .byte 0xf5 32990 5589 01 .uleb128 0x1 32991 558a 29 .uleb128 0x29 32992 558b F7 .byte 0xf7 32993 558c 30 .uleb128 0x30 32994 558d F7 .byte 0xf7 32995 558e 00 .uleb128 0 32996 558f 3F .byte 0x3f 32997 5590 1A .byte 0x1a 32998 5591 4C .byte 0x4c 32999 5592 1E .byte 0x1e 33000 5593 F3 .byte 0xf3 33001 5594 03 .uleb128 0x3 33002 5595 F5 .byte 0xf5 33003 5596 01 .uleb128 0x1 33004 5597 29 .uleb128 0x29 33005 5598 F7 .byte 0xf7 33006 5599 30 .uleb128 0x30 33007 559a F7 .byte 0xf7 33008 559b 00 .uleb128 0 33009 559c 09 .byte 0x9 33010 559d FC .byte 0xfc ARM GAS /tmp/ccJhhmLc.s page 1056 33011 559e 24 .byte 0x24 33012 559f 33 .byte 0x33 33013 55a0 25 .byte 0x25 33014 55a1 30 .byte 0x30 33015 55a2 2E .byte 0x2e 33016 55a3 28 .byte 0x28 33017 55a4 0100 .2byte 0x1 33018 55a6 16 .byte 0x16 33019 55a7 13 .byte 0x13 33020 55a8 23 .byte 0x23 33021 55a9 FC03 .uleb128 0x1fc 33022 55ab F3 .byte 0xf3 33023 55ac 03 .uleb128 0x3 33024 55ad F5 .byte 0xf5 33025 55ae 01 .uleb128 0x1 33026 55af 29 .uleb128 0x29 33027 55b0 F7 .byte 0xf7 33028 55b1 30 .uleb128 0x30 33029 55b2 F7 .byte 0xf7 33030 55b3 00 .uleb128 0 33031 55b4 3F .byte 0x3f 33032 55b5 1A .byte 0x1a 33033 55b6 4C .byte 0x4c 33034 55b7 1E .byte 0x1e 33035 55b8 23 .byte 0x23 33036 55b9 3C .uleb128 0x3c 33037 55ba F3 .byte 0xf3 33038 55bb 03 .uleb128 0x3 33039 55bc F5 .byte 0xf5 33040 55bd 01 .uleb128 0x1 33041 55be 29 .uleb128 0x29 33042 55bf F7 .byte 0xf7 33043 55c0 30 .uleb128 0x30 33044 55c1 F7 .byte 0xf7 33045 55c2 00 .uleb128 0 33046 55c3 3F .byte 0x3f 33047 55c4 1A .byte 0x1a 33048 55c5 4C .byte 0x4c 33049 55c6 1E .byte 0x1e 33050 55c7 F3 .byte 0xf3 33051 55c8 03 .uleb128 0x3 33052 55c9 F5 .byte 0xf5 33053 55ca 01 .uleb128 0x1 33054 55cb 29 .uleb128 0x29 33055 55cc F7 .byte 0xf7 33056 55cd 30 .uleb128 0x30 33057 55ce F7 .byte 0xf7 33058 55cf 00 .uleb128 0 33059 55d0 09 .byte 0x9 33060 55d1 FC .byte 0xfc 33061 55d2 24 .byte 0x24 33062 55d3 33 .byte 0x33 33063 55d4 25 .byte 0x25 33064 55d5 30 .byte 0x30 33065 55d6 2E .byte 0x2e 33066 55d7 28 .byte 0x28 33067 55d8 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 1057 33068 55da 16 .byte 0x16 33069 55db 13 .byte 0x13 33070 55dc F3 .byte 0xf3 33071 55dd 03 .uleb128 0x3 33072 55de F5 .byte 0xf5 33073 55df 01 .uleb128 0x1 33074 55e0 29 .uleb128 0x29 33075 55e1 F7 .byte 0xf7 33076 55e2 30 .uleb128 0x30 33077 55e3 F7 .byte 0xf7 33078 55e4 00 .uleb128 0 33079 55e5 09 .byte 0x9 33080 55e6 FC .byte 0xfc 33081 55e7 24 .byte 0x24 33082 55e8 33 .byte 0x33 33083 55e9 25 .byte 0x25 33084 55ea 30 .byte 0x30 33085 55eb 29 .byte 0x29 33086 55ec 28 .byte 0x28 33087 55ed 0100 .2byte 0x1 33088 55ef 16 .byte 0x16 33089 55f0 13 .byte 0x13 33090 55f1 F3 .byte 0xf3 33091 55f2 03 .uleb128 0x3 33092 55f3 F5 .byte 0xf5 33093 55f4 01 .uleb128 0x1 33094 55f5 29 .uleb128 0x29 33095 55f6 F7 .byte 0xf7 33096 55f7 30 .uleb128 0x30 33097 55f8 F7 .byte 0xf7 33098 55f9 00 .uleb128 0 33099 55fa 09 .byte 0x9 33100 55fb FC .byte 0xfc 33101 55fc 24 .byte 0x24 33102 55fd 33 .byte 0x33 33103 55fe 25 .byte 0x25 33104 55ff 30 .byte 0x30 33105 5600 2E .byte 0x2e 33106 5601 28 .byte 0x28 33107 5602 0100 .2byte 0x1 33108 5604 16 .byte 0x16 33109 5605 13 .byte 0x13 33110 5606 70 .byte 0x70 33111 5607 00 .sleb128 0 33112 5608 22 .byte 0x22 33113 5609 F3 .byte 0xf3 33114 560a 03 .uleb128 0x3 33115 560b F5 .byte 0xf5 33116 560c 01 .uleb128 0x1 33117 560d 29 .uleb128 0x29 33118 560e F7 .byte 0xf7 33119 560f 30 .uleb128 0x30 33120 5610 F7 .byte 0xf7 33121 5611 00 .uleb128 0 33122 5612 3F .byte 0x3f 33123 5613 1A .byte 0x1a 33124 5614 4C .byte 0x4c ARM GAS /tmp/ccJhhmLc.s page 1058 33125 5615 1E .byte 0x1e 33126 5616 23 .byte 0x23 33127 5617 3C .uleb128 0x3c 33128 5618 F3 .byte 0xf3 33129 5619 03 .uleb128 0x3 33130 561a F5 .byte 0xf5 33131 561b 01 .uleb128 0x1 33132 561c 29 .uleb128 0x29 33133 561d F7 .byte 0xf7 33134 561e 30 .uleb128 0x30 33135 561f F7 .byte 0xf7 33136 5620 00 .uleb128 0 33137 5621 3F .byte 0x3f 33138 5622 1A .byte 0x1a 33139 5623 4C .byte 0x4c 33140 5624 1E .byte 0x1e 33141 5625 F3 .byte 0xf3 33142 5626 03 .uleb128 0x3 33143 5627 F5 .byte 0xf5 33144 5628 01 .uleb128 0x1 33145 5629 29 .uleb128 0x29 33146 562a F7 .byte 0xf7 33147 562b 30 .uleb128 0x30 33148 562c F7 .byte 0xf7 33149 562d 00 .uleb128 0 33150 562e 09 .byte 0x9 33151 562f FC .byte 0xfc 33152 5630 24 .byte 0x24 33153 5631 33 .byte 0x33 33154 5632 25 .byte 0x25 33155 5633 30 .byte 0x30 33156 5634 2E .byte 0x2e 33157 5635 28 .byte 0x28 33158 5636 0100 .2byte 0x1 33159 5638 16 .byte 0x16 33160 5639 13 .byte 0x13 33161 563a 23 .byte 0x23 33162 563b FC03 .uleb128 0x1fc 33163 563d F3 .byte 0xf3 33164 563e 03 .uleb128 0x3 33165 563f F5 .byte 0xf5 33166 5640 01 .uleb128 0x1 33167 5641 29 .uleb128 0x29 33168 5642 F7 .byte 0xf7 33169 5643 30 .uleb128 0x30 33170 5644 F7 .byte 0xf7 33171 5645 00 .uleb128 0 33172 5646 3F .byte 0x3f 33173 5647 1A .byte 0x1a 33174 5648 4C .byte 0x4c 33175 5649 1E .byte 0x1e 33176 564a 23 .byte 0x23 33177 564b 3C .uleb128 0x3c 33178 564c F3 .byte 0xf3 33179 564d 03 .uleb128 0x3 33180 564e F5 .byte 0xf5 33181 564f 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1059 33182 5650 29 .uleb128 0x29 33183 5651 F7 .byte 0xf7 33184 5652 30 .uleb128 0x30 33185 5653 F7 .byte 0xf7 33186 5654 00 .uleb128 0 33187 5655 3F .byte 0x3f 33188 5656 1A .byte 0x1a 33189 5657 4C .byte 0x4c 33190 5658 1E .byte 0x1e 33191 5659 F3 .byte 0xf3 33192 565a 03 .uleb128 0x3 33193 565b F5 .byte 0xf5 33194 565c 01 .uleb128 0x1 33195 565d 29 .uleb128 0x29 33196 565e F7 .byte 0xf7 33197 565f 30 .uleb128 0x30 33198 5660 F7 .byte 0xf7 33199 5661 00 .uleb128 0 33200 5662 09 .byte 0x9 33201 5663 FC .byte 0xfc 33202 5664 24 .byte 0x24 33203 5665 33 .byte 0x33 33204 5666 25 .byte 0x25 33205 5667 30 .byte 0x30 33206 5668 2E .byte 0x2e 33207 5669 28 .byte 0x28 33208 566a 0100 .2byte 0x1 33209 566c 16 .byte 0x16 33210 566d 13 .byte 0x13 33211 566e F3 .byte 0xf3 33212 566f 03 .uleb128 0x3 33213 5670 F5 .byte 0xf5 33214 5671 01 .uleb128 0x1 33215 5672 29 .uleb128 0x29 33216 5673 F7 .byte 0xf7 33217 5674 30 .uleb128 0x30 33218 5675 F7 .byte 0xf7 33219 5676 00 .uleb128 0 33220 5677 09 .byte 0x9 33221 5678 FC .byte 0xfc 33222 5679 24 .byte 0x24 33223 567a 33 .byte 0x33 33224 567b 25 .byte 0x25 33225 567c 30 .byte 0x30 33226 567d 29 .byte 0x29 33227 567e 28 .byte 0x28 33228 567f 0100 .2byte 0x1 33229 5681 16 .byte 0x16 33230 5682 13 .byte 0x13 33231 5683 70 .byte 0x70 33232 5684 00 .sleb128 0 33233 5685 22 .byte 0x22 33234 5686 F3 .byte 0xf3 33235 5687 03 .uleb128 0x3 33236 5688 F5 .byte 0xf5 33237 5689 01 .uleb128 0x1 33238 568a 29 .uleb128 0x29 ARM GAS /tmp/ccJhhmLc.s page 1060 33239 568b F7 .byte 0xf7 33240 568c 30 .uleb128 0x30 33241 568d F7 .byte 0xf7 33242 568e 00 .uleb128 0 33243 568f 3F .byte 0x3f 33244 5690 1A .byte 0x1a 33245 5691 4C .byte 0x4c 33246 5692 1E .byte 0x1e 33247 5693 23 .byte 0x23 33248 5694 3C .uleb128 0x3c 33249 5695 F3 .byte 0xf3 33250 5696 03 .uleb128 0x3 33251 5697 F5 .byte 0xf5 33252 5698 01 .uleb128 0x1 33253 5699 29 .uleb128 0x29 33254 569a F7 .byte 0xf7 33255 569b 30 .uleb128 0x30 33256 569c F7 .byte 0xf7 33257 569d 00 .uleb128 0 33258 569e 3F .byte 0x3f 33259 569f 1A .byte 0x1a 33260 56a0 4C .byte 0x4c 33261 56a1 1E .byte 0x1e 33262 56a2 F3 .byte 0xf3 33263 56a3 03 .uleb128 0x3 33264 56a4 F5 .byte 0xf5 33265 56a5 01 .uleb128 0x1 33266 56a6 29 .uleb128 0x29 33267 56a7 F7 .byte 0xf7 33268 56a8 30 .uleb128 0x30 33269 56a9 F7 .byte 0xf7 33270 56aa 00 .uleb128 0 33271 56ab 09 .byte 0x9 33272 56ac FC .byte 0xfc 33273 56ad 24 .byte 0x24 33274 56ae 33 .byte 0x33 33275 56af 25 .byte 0x25 33276 56b0 30 .byte 0x30 33277 56b1 2E .byte 0x2e 33278 56b2 28 .byte 0x28 33279 56b3 0100 .2byte 0x1 33280 56b5 16 .byte 0x16 33281 56b6 13 .byte 0x13 33282 56b7 23 .byte 0x23 33283 56b8 FC03 .uleb128 0x1fc 33284 56ba F3 .byte 0xf3 33285 56bb 03 .uleb128 0x3 33286 56bc F5 .byte 0xf5 33287 56bd 01 .uleb128 0x1 33288 56be 29 .uleb128 0x29 33289 56bf F7 .byte 0xf7 33290 56c0 30 .uleb128 0x30 33291 56c1 F7 .byte 0xf7 33292 56c2 00 .uleb128 0 33293 56c3 3F .byte 0x3f 33294 56c4 1A .byte 0x1a 33295 56c5 4C .byte 0x4c ARM GAS /tmp/ccJhhmLc.s page 1061 33296 56c6 1E .byte 0x1e 33297 56c7 23 .byte 0x23 33298 56c8 3C .uleb128 0x3c 33299 56c9 F3 .byte 0xf3 33300 56ca 03 .uleb128 0x3 33301 56cb F5 .byte 0xf5 33302 56cc 01 .uleb128 0x1 33303 56cd 29 .uleb128 0x29 33304 56ce F7 .byte 0xf7 33305 56cf 30 .uleb128 0x30 33306 56d0 F7 .byte 0xf7 33307 56d1 00 .uleb128 0 33308 56d2 3F .byte 0x3f 33309 56d3 1A .byte 0x1a 33310 56d4 4C .byte 0x4c 33311 56d5 1E .byte 0x1e 33312 56d6 F3 .byte 0xf3 33313 56d7 03 .uleb128 0x3 33314 56d8 F5 .byte 0xf5 33315 56d9 01 .uleb128 0x1 33316 56da 29 .uleb128 0x29 33317 56db F7 .byte 0xf7 33318 56dc 30 .uleb128 0x30 33319 56dd F7 .byte 0xf7 33320 56de 00 .uleb128 0 33321 56df 09 .byte 0x9 33322 56e0 FC .byte 0xfc 33323 56e1 24 .byte 0x24 33324 56e2 33 .byte 0x33 33325 56e3 25 .byte 0x25 33326 56e4 30 .byte 0x30 33327 56e5 2E .byte 0x2e 33328 56e6 28 .byte 0x28 33329 56e7 0100 .2byte 0x1 33330 56e9 16 .byte 0x16 33331 56ea 13 .byte 0x13 33332 56eb F3 .byte 0xf3 33333 56ec 03 .uleb128 0x3 33334 56ed F5 .byte 0xf5 33335 56ee 01 .uleb128 0x1 33336 56ef 29 .uleb128 0x29 33337 56f0 F7 .byte 0xf7 33338 56f1 30 .uleb128 0x30 33339 56f2 F7 .byte 0xf7 33340 56f3 00 .uleb128 0 33341 56f4 09 .byte 0x9 33342 56f5 FC .byte 0xfc 33343 56f6 24 .byte 0x24 33344 56f7 33 .byte 0x33 33345 56f8 25 .byte 0x25 33346 56f9 30 .byte 0x30 33347 56fa 29 .byte 0x29 33348 56fb 28 .byte 0x28 33349 56fc 0100 .2byte 0x1 33350 56fe 16 .byte 0x16 33351 56ff 13 .byte 0x13 33352 5700 F3 .byte 0xf3 ARM GAS /tmp/ccJhhmLc.s page 1062 33353 5701 03 .uleb128 0x3 33354 5702 F5 .byte 0xf5 33355 5703 01 .uleb128 0x1 33356 5704 29 .uleb128 0x29 33357 5705 F7 .byte 0xf7 33358 5706 30 .uleb128 0x30 33359 5707 F7 .byte 0xf7 33360 5708 00 .uleb128 0 33361 5709 09 .byte 0x9 33362 570a FC .byte 0xfc 33363 570b 24 .byte 0x24 33364 570c 33 .byte 0x33 33365 570d 25 .byte 0x25 33366 570e 30 .byte 0x30 33367 570f 2E .byte 0x2e 33368 5710 28 .byte 0x28 33369 5711 0100 .2byte 0x1 33370 5713 16 .byte 0x16 33371 5714 13 .byte 0x13 33372 5715 F3 .byte 0xf3 33373 5716 03 .uleb128 0x3 33374 5717 F5 .byte 0xf5 33375 5718 01 .uleb128 0x1 33376 5719 29 .uleb128 0x29 33377 571a F7 .byte 0xf7 33378 571b 30 .uleb128 0x30 33379 571c F7 .byte 0xf7 33380 571d 00 .uleb128 0 33381 571e 09 .byte 0x9 33382 571f FC .byte 0xfc 33383 5720 24 .byte 0x24 33384 5721 33 .byte 0x33 33385 5722 25 .byte 0x25 33386 5723 30 .byte 0x30 33387 5724 29 .byte 0x29 33388 5725 28 .byte 0x28 33389 5726 0100 .2byte 0x1 33390 5728 16 .byte 0x16 33391 5729 13 .byte 0x13 33392 572a 94 .byte 0x94 33393 572b 01 .byte 0x1 33394 572c 08 .byte 0x8 33395 572d FF .byte 0xff 33396 572e 1A .byte 0x1a 33397 572f 9F .byte 0x9f 33398 5730 00000000 .4byte 0 33399 5734 00000000 .4byte 0 33400 .LLST360: 33401 5738 00000000 .4byte .LFB169 33402 573c 02000000 .4byte .LCFI70 33403 5740 0200 .2byte 0x2 33404 5742 7D .byte 0x7d 33405 5743 00 .sleb128 0 33406 5744 02000000 .4byte .LCFI70 33407 5748 C0000000 .4byte .LFE169 33408 574c 0200 .2byte 0x2 33409 574e 7D .byte 0x7d ARM GAS /tmp/ccJhhmLc.s page 1063 33410 574f 14 .sleb128 20 33411 5750 00000000 .4byte 0 33412 5754 00000000 .4byte 0 33413 .LVUS361: 33414 5758 00 .uleb128 0 33415 5759 00 .uleb128 .LVU2607 33416 575a 00 .uleb128 .LVU2607 33417 575b 00 .uleb128 0 33418 .LLST361: 33419 575c 00000000 .4byte .LVL550 33420 5760 0C000000 .4byte .LVL552 33421 5764 0100 .2byte 0x1 33422 5766 50 .byte 0x50 33423 5767 0C000000 .4byte .LVL552 33424 576b C0000000 .4byte .LFE169 33425 576f 0A00 .2byte 0xa 33426 5771 F3 .byte 0xf3 33427 5772 03 .uleb128 0x3 33428 5773 F5 .byte 0xf5 33429 5774 00 .uleb128 0 33430 5775 29 .uleb128 0x29 33431 5776 F7 .byte 0xf7 33432 5777 30 .uleb128 0x30 33433 5778 F7 .byte 0xf7 33434 5779 00 .uleb128 0 33435 577a 9F .byte 0x9f 33436 577b 00000000 .4byte 0 33437 577f 00000000 .4byte 0 33438 .LVUS362: 33439 5783 00 .uleb128 0 33440 5784 00 .uleb128 .LVU2609 33441 5785 00 .uleb128 .LVU2609 33442 5786 00 .uleb128 0 33443 .LLST362: 33444 5787 00000000 .4byte .LVL550 33445 578b 1A000000 .4byte .LVL553 33446 578f 0100 .2byte 0x1 33447 5791 51 .byte 0x51 33448 5792 1A000000 .4byte .LVL553 33449 5796 C0000000 .4byte .LFE169 33450 579a 0A00 .2byte 0xa 33451 579c F3 .byte 0xf3 33452 579d 03 .uleb128 0x3 33453 579e F5 .byte 0xf5 33454 579f 01 .uleb128 0x1 33455 57a0 29 .uleb128 0x29 33456 57a1 F7 .byte 0xf7 33457 57a2 37 .uleb128 0x37 33458 57a3 F7 .byte 0xf7 33459 57a4 00 .uleb128 0 33460 57a5 9F .byte 0x9f 33461 57a6 00000000 .4byte 0 33462 57aa 00000000 .4byte 0 33463 .LVUS363: 33464 57ae 00 .uleb128 0 33465 57af 00 .uleb128 .LVU2640 33466 57b0 00 .uleb128 .LVU2640 ARM GAS /tmp/ccJhhmLc.s page 1064 33467 57b1 00 .uleb128 .LVU2646 33468 57b2 00 .uleb128 .LVU2646 33469 57b3 00 .uleb128 .LVU2653 33470 57b4 00 .uleb128 .LVU2653 33471 57b5 00 .uleb128 0 33472 .LLST363: 33473 57b6 00000000 .4byte .LVL550 33474 57ba 8C000000 .4byte .LVL559 33475 57be 0100 .2byte 0x1 33476 57c0 53 .byte 0x53 33477 57c1 8C000000 .4byte .LVL559 33478 57c5 A4000000 .4byte .LVL563 33479 57c9 0A00 .2byte 0xa 33480 57cb F3 .byte 0xf3 33481 57cc 03 .uleb128 0x3 33482 57cd F5 .byte 0xf5 33483 57ce 03 .uleb128 0x3 33484 57cf 29 .uleb128 0x29 33485 57d0 F7 .byte 0xf7 33486 57d1 3E .uleb128 0x3e 33487 57d2 F7 .byte 0xf7 33488 57d3 00 .uleb128 0 33489 57d4 9F .byte 0x9f 33490 57d5 A4000000 .4byte .LVL563 33491 57d9 BC000000 .4byte .LVL565 33492 57dd 0100 .2byte 0x1 33493 57df 53 .byte 0x53 33494 57e0 BC000000 .4byte .LVL565 33495 57e4 C0000000 .4byte .LFE169 33496 57e8 0A00 .2byte 0xa 33497 57ea F3 .byte 0xf3 33498 57eb 03 .uleb128 0x3 33499 57ec F5 .byte 0xf5 33500 57ed 03 .uleb128 0x3 33501 57ee 29 .uleb128 0x29 33502 57ef F7 .byte 0xf7 33503 57f0 3E .uleb128 0x3e 33504 57f1 F7 .byte 0xf7 33505 57f2 00 .uleb128 0 33506 57f3 9F .byte 0x9f 33507 57f4 00000000 .4byte 0 33508 57f8 00000000 .4byte 0 33509 .LVUS364: 33510 57fc 01 .uleb128 .LVU2604 33511 57fd 00 .uleb128 .LVU2644 33512 57fe 00 .uleb128 .LVU2646 33513 57ff 00 .uleb128 0 33514 .LLST364: 33515 5800 00000000 .4byte .LVL550 33516 5804 A2000000 .4byte .LVL562 33517 5808 0200 .2byte 0x2 33518 580a 30 .byte 0x30 33519 580b 9F .byte 0x9f 33520 580c A4000000 .4byte .LVL563 33521 5810 C0000000 .4byte .LFE169 33522 5814 0200 .2byte 0x2 33523 5816 30 .byte 0x30 ARM GAS /tmp/ccJhhmLc.s page 1065 33524 5817 9F .byte 0x9f 33525 5818 00000000 .4byte 0 33526 581c 00000000 .4byte 0 33527 .LVUS366: 33528 5820 00 .uleb128 .LVU2606 33529 5821 00 .uleb128 .LVU2644 33530 5822 00 .uleb128 .LVU2646 33531 5823 00 .uleb128 0 33532 .LLST366: 33533 5824 06000000 .4byte .LVL551 33534 5828 A2000000 .4byte .LVL562 33535 582c 0100 .2byte 0x1 33536 582e 54 .byte 0x54 33537 582f A4000000 .4byte .LVL563 33538 5833 C0000000 .4byte .LFE169 33539 5837 0100 .2byte 0x1 33540 5839 54 .byte 0x54 33541 583a 00000000 .4byte 0 33542 583e 00000000 .4byte 0 33543 .LVUS367: 33544 5842 00 .uleb128 .LVU2606 33545 5843 00 .uleb128 .LVU2644 33546 5844 00 .uleb128 .LVU2646 33547 5845 00 .uleb128 0 33548 .LLST367: 33549 5846 06000000 .4byte .LVL551 33550 584a A2000000 .4byte .LVL562 33551 584e 0A00 .2byte 0xa 33552 5850 F3 .byte 0xf3 33553 5851 03 .uleb128 0x3 33554 5852 F5 .byte 0xf5 33555 5853 01 .uleb128 0x1 33556 5854 29 .uleb128 0x29 33557 5855 F7 .byte 0xf7 33558 5856 37 .uleb128 0x37 33559 5857 F7 .byte 0xf7 33560 5858 00 .uleb128 0 33561 5859 9F .byte 0x9f 33562 585a A4000000 .4byte .LVL563 33563 585e C0000000 .4byte .LFE169 33564 5862 0A00 .2byte 0xa 33565 5864 F3 .byte 0xf3 33566 5865 03 .uleb128 0x3 33567 5866 F5 .byte 0xf5 33568 5867 01 .uleb128 0x1 33569 5868 29 .uleb128 0x29 33570 5869 F7 .byte 0xf7 33571 586a 37 .uleb128 0x37 33572 586b F7 .byte 0xf7 33573 586c 00 .uleb128 0 33574 586d 9F .byte 0x9f 33575 586e 00000000 .4byte 0 33576 5872 00000000 .4byte 0 33577 .LVUS368: 33578 5876 00 .uleb128 .LVU2606 33579 5877 00 .uleb128 .LVU2640 33580 5878 00 .uleb128 .LVU2640 ARM GAS /tmp/ccJhhmLc.s page 1066 33581 5879 00 .uleb128 .LVU2644 33582 587a 00 .uleb128 .LVU2646 33583 587b 00 .uleb128 .LVU2653 33584 587c 00 .uleb128 .LVU2653 33585 587d 00 .uleb128 0 33586 .LLST368: 33587 587e 06000000 .4byte .LVL551 33588 5882 8C000000 .4byte .LVL559 33589 5886 0100 .2byte 0x1 33590 5888 53 .byte 0x53 33591 5889 8C000000 .4byte .LVL559 33592 588d A2000000 .4byte .LVL562 33593 5891 0A00 .2byte 0xa 33594 5893 F3 .byte 0xf3 33595 5894 03 .uleb128 0x3 33596 5895 F5 .byte 0xf5 33597 5896 03 .uleb128 0x3 33598 5897 29 .uleb128 0x29 33599 5898 F7 .byte 0xf7 33600 5899 3E .uleb128 0x3e 33601 589a F7 .byte 0xf7 33602 589b 00 .uleb128 0 33603 589c 9F .byte 0x9f 33604 589d A4000000 .4byte .LVL563 33605 58a1 BC000000 .4byte .LVL565 33606 58a5 0100 .2byte 0x1 33607 58a7 53 .byte 0x53 33608 58a8 BC000000 .4byte .LVL565 33609 58ac C0000000 .4byte .LFE169 33610 58b0 0A00 .2byte 0xa 33611 58b2 F3 .byte 0xf3 33612 58b3 03 .uleb128 0x3 33613 58b4 F5 .byte 0xf5 33614 58b5 03 .uleb128 0x3 33615 58b6 29 .uleb128 0x29 33616 58b7 F7 .byte 0xf7 33617 58b8 3E .uleb128 0x3e 33618 58b9 F7 .byte 0xf7 33619 58ba 00 .uleb128 0 33620 58bb 9F .byte 0x9f 33621 58bc 00000000 .4byte 0 33622 58c0 00000000 .4byte 0 33623 .LVUS369: 33624 58c4 00 .uleb128 .LVU2606 33625 58c5 00 .uleb128 .LVU2644 33626 58c6 00 .uleb128 .LVU2646 33627 58c7 00 .uleb128 0 33628 .LLST369: 33629 58c8 06000000 .4byte .LVL551 33630 58cc A2000000 .4byte .LVL562 33631 58d0 0100 .2byte 0x1 33632 58d2 52 .byte 0x52 33633 58d3 A4000000 .4byte .LVL563 33634 58d7 C0000000 .4byte .LFE169 33635 58db 0100 .2byte 0x1 33636 58dd 52 .byte 0x52 33637 58de 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 1067 33638 58e2 00000000 .4byte 0 33639 .LVUS370: 33640 58e6 00 .uleb128 .LVU2611 33641 58e7 00 .uleb128 .LVU2612 33642 58e8 00 .uleb128 .LVU2621 33643 58e9 00 .uleb128 .LVU2641 33644 58ea 00 .uleb128 .LVU2641 33645 58eb 00 .uleb128 .LVU2644 33646 58ec 00 .uleb128 .LVU2646 33647 58ed 00 .uleb128 .LVU2647 33648 58ee 00 .uleb128 .LVU2647 33649 58ef 00 .uleb128 0 33650 .LLST370: 33651 58f0 26000000 .4byte .LVL554 33652 58f4 28000000 .4byte .LVL555 33653 58f8 0600 .2byte 0x6 33654 58fa 74 .byte 0x74 33655 58fb 00 .sleb128 0 33656 58fc 71 .byte 0x71 33657 58fd 00 .sleb128 0 33658 58fe 22 .byte 0x22 33659 58ff 9F .byte 0x9f 33660 5900 46000000 .4byte .LVL557 33661 5904 92000000 .4byte .LVL560 33662 5908 9C00 .2byte 0x9c 33663 590a 75 .byte 0x75 33664 590b 00 .sleb128 0 33665 590c 4C .byte 0x4c 33666 590d 1E .byte 0x1e 33667 590e 23 .byte 0x23 33668 590f FC03 .uleb128 0x1fc 33669 5911 75 .byte 0x75 33670 5912 00 .sleb128 0 33671 5913 4C .byte 0x4c 33672 5914 1E .byte 0x1e 33673 5915 23 .byte 0x23 33674 5916 3C .uleb128 0x3c 33675 5917 F3 .byte 0xf3 33676 5918 03 .uleb128 0x3 33677 5919 F5 .byte 0xf5 33678 591a 01 .uleb128 0x1 33679 591b 29 .uleb128 0x29 33680 591c F7 .byte 0xf7 33681 591d 30 .uleb128 0x30 33682 591e F7 .byte 0xf7 33683 591f 00 .uleb128 0 33684 5920 F3 .byte 0xf3 33685 5921 03 .uleb128 0x3 33686 5922 F5 .byte 0xf5 33687 5923 01 .uleb128 0x1 33688 5924 29 .uleb128 0x29 33689 5925 F7 .byte 0xf7 33690 5926 30 .uleb128 0x30 33691 5927 F7 .byte 0xf7 33692 5928 00 .uleb128 0 33693 5929 09 .byte 0x9 33694 592a FC .byte 0xfc ARM GAS /tmp/ccJhhmLc.s page 1068 33695 592b 24 .byte 0x24 33696 592c 33 .byte 0x33 33697 592d 25 .byte 0x25 33698 592e 30 .byte 0x30 33699 592f 2E .byte 0x2e 33700 5930 28 .byte 0x28 33701 5931 0100 .2byte 0x1 33702 5933 16 .byte 0x16 33703 5934 13 .byte 0x13 33704 5935 F3 .byte 0xf3 33705 5936 03 .uleb128 0x3 33706 5937 F5 .byte 0xf5 33707 5938 01 .uleb128 0x1 33708 5939 29 .uleb128 0x29 33709 593a F7 .byte 0xf7 33710 593b 30 .uleb128 0x30 33711 593c F7 .byte 0xf7 33712 593d 00 .uleb128 0 33713 593e 09 .byte 0x9 33714 593f FC .byte 0xfc 33715 5940 24 .byte 0x24 33716 5941 33 .byte 0x33 33717 5942 25 .byte 0x25 33718 5943 30 .byte 0x30 33719 5944 29 .byte 0x29 33720 5945 28 .byte 0x28 33721 5946 0100 .2byte 0x1 33722 5948 16 .byte 0x16 33723 5949 13 .byte 0x13 33724 594a 74 .byte 0x74 33725 594b 00 .sleb128 0 33726 594c 22 .byte 0x22 33727 594d 75 .byte 0x75 33728 594e 00 .sleb128 0 33729 594f 4C .byte 0x4c 33730 5950 1E .byte 0x1e 33731 5951 23 .byte 0x23 33732 5952 FC03 .uleb128 0x1fc 33733 5954 75 .byte 0x75 33734 5955 00 .sleb128 0 33735 5956 4C .byte 0x4c 33736 5957 1E .byte 0x1e 33737 5958 23 .byte 0x23 33738 5959 3C .uleb128 0x3c 33739 595a F3 .byte 0xf3 33740 595b 03 .uleb128 0x3 33741 595c F5 .byte 0xf5 33742 595d 01 .uleb128 0x1 33743 595e 29 .uleb128 0x29 33744 595f F7 .byte 0xf7 33745 5960 30 .uleb128 0x30 33746 5961 F7 .byte 0xf7 33747 5962 00 .uleb128 0 33748 5963 F3 .byte 0xf3 33749 5964 03 .uleb128 0x3 33750 5965 F5 .byte 0xf5 33751 5966 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1069 33752 5967 29 .uleb128 0x29 33753 5968 F7 .byte 0xf7 33754 5969 30 .uleb128 0x30 33755 596a F7 .byte 0xf7 33756 596b 00 .uleb128 0 33757 596c 09 .byte 0x9 33758 596d FC .byte 0xfc 33759 596e 24 .byte 0x24 33760 596f 33 .byte 0x33 33761 5970 25 .byte 0x25 33762 5971 30 .byte 0x30 33763 5972 2E .byte 0x2e 33764 5973 28 .byte 0x28 33765 5974 0100 .2byte 0x1 33766 5976 16 .byte 0x16 33767 5977 13 .byte 0x13 33768 5978 F3 .byte 0xf3 33769 5979 03 .uleb128 0x3 33770 597a F5 .byte 0xf5 33771 597b 01 .uleb128 0x1 33772 597c 29 .uleb128 0x29 33773 597d F7 .byte 0xf7 33774 597e 30 .uleb128 0x30 33775 597f F7 .byte 0xf7 33776 5980 00 .uleb128 0 33777 5981 09 .byte 0x9 33778 5982 FC .byte 0xfc 33779 5983 24 .byte 0x24 33780 5984 33 .byte 0x33 33781 5985 25 .byte 0x25 33782 5986 30 .byte 0x30 33783 5987 29 .byte 0x29 33784 5988 28 .byte 0x28 33785 5989 0100 .2byte 0x1 33786 598b 16 .byte 0x16 33787 598c 13 .byte 0x13 33788 598d F3 .byte 0xf3 33789 598e 03 .uleb128 0x3 33790 598f F5 .byte 0xf5 33791 5990 01 .uleb128 0x1 33792 5991 29 .uleb128 0x29 33793 5992 F7 .byte 0xf7 33794 5993 30 .uleb128 0x30 33795 5994 F7 .byte 0xf7 33796 5995 00 .uleb128 0 33797 5996 09 .byte 0x9 33798 5997 FC .byte 0xfc 33799 5998 24 .byte 0x24 33800 5999 33 .byte 0x33 33801 599a 25 .byte 0x25 33802 599b 30 .byte 0x30 33803 599c 2E .byte 0x2e 33804 599d 28 .byte 0x28 33805 599e 0100 .2byte 0x1 33806 59a0 16 .byte 0x16 33807 59a1 13 .byte 0x13 33808 59a2 74 .byte 0x74 ARM GAS /tmp/ccJhhmLc.s page 1070 33809 59a3 00 .sleb128 0 33810 59a4 22 .byte 0x22 33811 59a5 9F .byte 0x9f 33812 59a6 92000000 .4byte .LVL560 33813 59aa A2000000 .4byte .LVL562 33814 59ae C000 .2byte 0xc0 33815 59b0 F3 .byte 0xf3 33816 59b1 03 .uleb128 0x3 33817 59b2 F5 .byte 0xf5 33818 59b3 01 .uleb128 0x1 33819 59b4 29 .uleb128 0x29 33820 59b5 F7 .byte 0xf7 33821 59b6 30 .uleb128 0x30 33822 59b7 F7 .byte 0xf7 33823 59b8 00 .uleb128 0 33824 59b9 3F .byte 0x3f 33825 59ba 1A .byte 0x1a 33826 59bb 4C .byte 0x4c 33827 59bc 1E .byte 0x1e 33828 59bd 23 .byte 0x23 33829 59be FC03 .uleb128 0x1fc 33830 59c0 F3 .byte 0xf3 33831 59c1 03 .uleb128 0x3 33832 59c2 F5 .byte 0xf5 33833 59c3 01 .uleb128 0x1 33834 59c4 29 .uleb128 0x29 33835 59c5 F7 .byte 0xf7 33836 59c6 30 .uleb128 0x30 33837 59c7 F7 .byte 0xf7 33838 59c8 00 .uleb128 0 33839 59c9 3F .byte 0x3f 33840 59ca 1A .byte 0x1a 33841 59cb 4C .byte 0x4c 33842 59cc 1E .byte 0x1e 33843 59cd 23 .byte 0x23 33844 59ce 3C .uleb128 0x3c 33845 59cf F3 .byte 0xf3 33846 59d0 03 .uleb128 0x3 33847 59d1 F5 .byte 0xf5 33848 59d2 01 .uleb128 0x1 33849 59d3 29 .uleb128 0x29 33850 59d4 F7 .byte 0xf7 33851 59d5 30 .uleb128 0x30 33852 59d6 F7 .byte 0xf7 33853 59d7 00 .uleb128 0 33854 59d8 F3 .byte 0xf3 33855 59d9 03 .uleb128 0x3 33856 59da F5 .byte 0xf5 33857 59db 01 .uleb128 0x1 33858 59dc 29 .uleb128 0x29 33859 59dd F7 .byte 0xf7 33860 59de 30 .uleb128 0x30 33861 59df F7 .byte 0xf7 33862 59e0 00 .uleb128 0 33863 59e1 09 .byte 0x9 33864 59e2 FC .byte 0xfc 33865 59e3 24 .byte 0x24 ARM GAS /tmp/ccJhhmLc.s page 1071 33866 59e4 33 .byte 0x33 33867 59e5 25 .byte 0x25 33868 59e6 30 .byte 0x30 33869 59e7 2E .byte 0x2e 33870 59e8 28 .byte 0x28 33871 59e9 0100 .2byte 0x1 33872 59eb 16 .byte 0x16 33873 59ec 13 .byte 0x13 33874 59ed F3 .byte 0xf3 33875 59ee 03 .uleb128 0x3 33876 59ef F5 .byte 0xf5 33877 59f0 01 .uleb128 0x1 33878 59f1 29 .uleb128 0x29 33879 59f2 F7 .byte 0xf7 33880 59f3 30 .uleb128 0x30 33881 59f4 F7 .byte 0xf7 33882 59f5 00 .uleb128 0 33883 59f6 09 .byte 0x9 33884 59f7 FC .byte 0xfc 33885 59f8 24 .byte 0x24 33886 59f9 33 .byte 0x33 33887 59fa 25 .byte 0x25 33888 59fb 30 .byte 0x30 33889 59fc 29 .byte 0x29 33890 59fd 28 .byte 0x28 33891 59fe 0100 .2byte 0x1 33892 5a00 16 .byte 0x16 33893 5a01 13 .byte 0x13 33894 5a02 74 .byte 0x74 33895 5a03 00 .sleb128 0 33896 5a04 22 .byte 0x22 33897 5a05 F3 .byte 0xf3 33898 5a06 03 .uleb128 0x3 33899 5a07 F5 .byte 0xf5 33900 5a08 01 .uleb128 0x1 33901 5a09 29 .uleb128 0x29 33902 5a0a F7 .byte 0xf7 33903 5a0b 30 .uleb128 0x30 33904 5a0c F7 .byte 0xf7 33905 5a0d 00 .uleb128 0 33906 5a0e 3F .byte 0x3f 33907 5a0f 1A .byte 0x1a 33908 5a10 4C .byte 0x4c 33909 5a11 1E .byte 0x1e 33910 5a12 23 .byte 0x23 33911 5a13 FC03 .uleb128 0x1fc 33912 5a15 F3 .byte 0xf3 33913 5a16 03 .uleb128 0x3 33914 5a17 F5 .byte 0xf5 33915 5a18 01 .uleb128 0x1 33916 5a19 29 .uleb128 0x29 33917 5a1a F7 .byte 0xf7 33918 5a1b 30 .uleb128 0x30 33919 5a1c F7 .byte 0xf7 33920 5a1d 00 .uleb128 0 33921 5a1e 3F .byte 0x3f 33922 5a1f 1A .byte 0x1a ARM GAS /tmp/ccJhhmLc.s page 1072 33923 5a20 4C .byte 0x4c 33924 5a21 1E .byte 0x1e 33925 5a22 23 .byte 0x23 33926 5a23 3C .uleb128 0x3c 33927 5a24 F3 .byte 0xf3 33928 5a25 03 .uleb128 0x3 33929 5a26 F5 .byte 0xf5 33930 5a27 01 .uleb128 0x1 33931 5a28 29 .uleb128 0x29 33932 5a29 F7 .byte 0xf7 33933 5a2a 30 .uleb128 0x30 33934 5a2b F7 .byte 0xf7 33935 5a2c 00 .uleb128 0 33936 5a2d F3 .byte 0xf3 33937 5a2e 03 .uleb128 0x3 33938 5a2f F5 .byte 0xf5 33939 5a30 01 .uleb128 0x1 33940 5a31 29 .uleb128 0x29 33941 5a32 F7 .byte 0xf7 33942 5a33 30 .uleb128 0x30 33943 5a34 F7 .byte 0xf7 33944 5a35 00 .uleb128 0 33945 5a36 09 .byte 0x9 33946 5a37 FC .byte 0xfc 33947 5a38 24 .byte 0x24 33948 5a39 33 .byte 0x33 33949 5a3a 25 .byte 0x25 33950 5a3b 30 .byte 0x30 33951 5a3c 2E .byte 0x2e 33952 5a3d 28 .byte 0x28 33953 5a3e 0100 .2byte 0x1 33954 5a40 16 .byte 0x16 33955 5a41 13 .byte 0x13 33956 5a42 F3 .byte 0xf3 33957 5a43 03 .uleb128 0x3 33958 5a44 F5 .byte 0xf5 33959 5a45 01 .uleb128 0x1 33960 5a46 29 .uleb128 0x29 33961 5a47 F7 .byte 0xf7 33962 5a48 30 .uleb128 0x30 33963 5a49 F7 .byte 0xf7 33964 5a4a 00 .uleb128 0 33965 5a4b 09 .byte 0x9 33966 5a4c FC .byte 0xfc 33967 5a4d 24 .byte 0x24 33968 5a4e 33 .byte 0x33 33969 5a4f 25 .byte 0x25 33970 5a50 30 .byte 0x30 33971 5a51 29 .byte 0x29 33972 5a52 28 .byte 0x28 33973 5a53 0100 .2byte 0x1 33974 5a55 16 .byte 0x16 33975 5a56 13 .byte 0x13 33976 5a57 F3 .byte 0xf3 33977 5a58 03 .uleb128 0x3 33978 5a59 F5 .byte 0xf5 33979 5a5a 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1073 33980 5a5b 29 .uleb128 0x29 33981 5a5c F7 .byte 0xf7 33982 5a5d 30 .uleb128 0x30 33983 5a5e F7 .byte 0xf7 33984 5a5f 00 .uleb128 0 33985 5a60 09 .byte 0x9 33986 5a61 FC .byte 0xfc 33987 5a62 24 .byte 0x24 33988 5a63 33 .byte 0x33 33989 5a64 25 .byte 0x25 33990 5a65 30 .byte 0x30 33991 5a66 2E .byte 0x2e 33992 5a67 28 .byte 0x28 33993 5a68 0100 .2byte 0x1 33994 5a6a 16 .byte 0x16 33995 5a6b 13 .byte 0x13 33996 5a6c 74 .byte 0x74 33997 5a6d 00 .sleb128 0 33998 5a6e 22 .byte 0x22 33999 5a6f 9F .byte 0x9f 34000 5a70 A4000000 .4byte .LVL563 34001 5a74 A6000000 .4byte .LVL564 34002 5a78 9C00 .2byte 0x9c 34003 5a7a 75 .byte 0x75 34004 5a7b 00 .sleb128 0 34005 5a7c 4C .byte 0x4c 34006 5a7d 1E .byte 0x1e 34007 5a7e 23 .byte 0x23 34008 5a7f FC03 .uleb128 0x1fc 34009 5a81 75 .byte 0x75 34010 5a82 00 .sleb128 0 34011 5a83 4C .byte 0x4c 34012 5a84 1E .byte 0x1e 34013 5a85 23 .byte 0x23 34014 5a86 3C .uleb128 0x3c 34015 5a87 F3 .byte 0xf3 34016 5a88 03 .uleb128 0x3 34017 5a89 F5 .byte 0xf5 34018 5a8a 01 .uleb128 0x1 34019 5a8b 29 .uleb128 0x29 34020 5a8c F7 .byte 0xf7 34021 5a8d 30 .uleb128 0x30 34022 5a8e F7 .byte 0xf7 34023 5a8f 00 .uleb128 0 34024 5a90 F3 .byte 0xf3 34025 5a91 03 .uleb128 0x3 34026 5a92 F5 .byte 0xf5 34027 5a93 01 .uleb128 0x1 34028 5a94 29 .uleb128 0x29 34029 5a95 F7 .byte 0xf7 34030 5a96 30 .uleb128 0x30 34031 5a97 F7 .byte 0xf7 34032 5a98 00 .uleb128 0 34033 5a99 09 .byte 0x9 34034 5a9a FC .byte 0xfc 34035 5a9b 24 .byte 0x24 34036 5a9c 33 .byte 0x33 ARM GAS /tmp/ccJhhmLc.s page 1074 34037 5a9d 25 .byte 0x25 34038 5a9e 30 .byte 0x30 34039 5a9f 2E .byte 0x2e 34040 5aa0 28 .byte 0x28 34041 5aa1 0100 .2byte 0x1 34042 5aa3 16 .byte 0x16 34043 5aa4 13 .byte 0x13 34044 5aa5 F3 .byte 0xf3 34045 5aa6 03 .uleb128 0x3 34046 5aa7 F5 .byte 0xf5 34047 5aa8 01 .uleb128 0x1 34048 5aa9 29 .uleb128 0x29 34049 5aaa F7 .byte 0xf7 34050 5aab 30 .uleb128 0x30 34051 5aac F7 .byte 0xf7 34052 5aad 00 .uleb128 0 34053 5aae 09 .byte 0x9 34054 5aaf FC .byte 0xfc 34055 5ab0 24 .byte 0x24 34056 5ab1 33 .byte 0x33 34057 5ab2 25 .byte 0x25 34058 5ab3 30 .byte 0x30 34059 5ab4 29 .byte 0x29 34060 5ab5 28 .byte 0x28 34061 5ab6 0100 .2byte 0x1 34062 5ab8 16 .byte 0x16 34063 5ab9 13 .byte 0x13 34064 5aba 74 .byte 0x74 34065 5abb 00 .sleb128 0 34066 5abc 22 .byte 0x22 34067 5abd 75 .byte 0x75 34068 5abe 00 .sleb128 0 34069 5abf 4C .byte 0x4c 34070 5ac0 1E .byte 0x1e 34071 5ac1 23 .byte 0x23 34072 5ac2 FC03 .uleb128 0x1fc 34073 5ac4 75 .byte 0x75 34074 5ac5 00 .sleb128 0 34075 5ac6 4C .byte 0x4c 34076 5ac7 1E .byte 0x1e 34077 5ac8 23 .byte 0x23 34078 5ac9 3C .uleb128 0x3c 34079 5aca F3 .byte 0xf3 34080 5acb 03 .uleb128 0x3 34081 5acc F5 .byte 0xf5 34082 5acd 01 .uleb128 0x1 34083 5ace 29 .uleb128 0x29 34084 5acf F7 .byte 0xf7 34085 5ad0 30 .uleb128 0x30 34086 5ad1 F7 .byte 0xf7 34087 5ad2 00 .uleb128 0 34088 5ad3 F3 .byte 0xf3 34089 5ad4 03 .uleb128 0x3 34090 5ad5 F5 .byte 0xf5 34091 5ad6 01 .uleb128 0x1 34092 5ad7 29 .uleb128 0x29 34093 5ad8 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1075 34094 5ad9 30 .uleb128 0x30 34095 5ada F7 .byte 0xf7 34096 5adb 00 .uleb128 0 34097 5adc 09 .byte 0x9 34098 5add FC .byte 0xfc 34099 5ade 24 .byte 0x24 34100 5adf 33 .byte 0x33 34101 5ae0 25 .byte 0x25 34102 5ae1 30 .byte 0x30 34103 5ae2 2E .byte 0x2e 34104 5ae3 28 .byte 0x28 34105 5ae4 0100 .2byte 0x1 34106 5ae6 16 .byte 0x16 34107 5ae7 13 .byte 0x13 34108 5ae8 F3 .byte 0xf3 34109 5ae9 03 .uleb128 0x3 34110 5aea F5 .byte 0xf5 34111 5aeb 01 .uleb128 0x1 34112 5aec 29 .uleb128 0x29 34113 5aed F7 .byte 0xf7 34114 5aee 30 .uleb128 0x30 34115 5aef F7 .byte 0xf7 34116 5af0 00 .uleb128 0 34117 5af1 09 .byte 0x9 34118 5af2 FC .byte 0xfc 34119 5af3 24 .byte 0x24 34120 5af4 33 .byte 0x33 34121 5af5 25 .byte 0x25 34122 5af6 30 .byte 0x30 34123 5af7 29 .byte 0x29 34124 5af8 28 .byte 0x28 34125 5af9 0100 .2byte 0x1 34126 5afb 16 .byte 0x16 34127 5afc 13 .byte 0x13 34128 5afd F3 .byte 0xf3 34129 5afe 03 .uleb128 0x3 34130 5aff F5 .byte 0xf5 34131 5b00 01 .uleb128 0x1 34132 5b01 29 .uleb128 0x29 34133 5b02 F7 .byte 0xf7 34134 5b03 30 .uleb128 0x30 34135 5b04 F7 .byte 0xf7 34136 5b05 00 .uleb128 0 34137 5b06 09 .byte 0x9 34138 5b07 FC .byte 0xfc 34139 5b08 24 .byte 0x24 34140 5b09 33 .byte 0x33 34141 5b0a 25 .byte 0x25 34142 5b0b 30 .byte 0x30 34143 5b0c 2E .byte 0x2e 34144 5b0d 28 .byte 0x28 34145 5b0e 0100 .2byte 0x1 34146 5b10 16 .byte 0x16 34147 5b11 13 .byte 0x13 34148 5b12 74 .byte 0x74 34149 5b13 00 .sleb128 0 34150 5b14 22 .byte 0x22 ARM GAS /tmp/ccJhhmLc.s page 1076 34151 5b15 9F .byte 0x9f 34152 5b16 A6000000 .4byte .LVL564 34153 5b1a C0000000 .4byte .LFE169 34154 5b1e C000 .2byte 0xc0 34155 5b20 F3 .byte 0xf3 34156 5b21 03 .uleb128 0x3 34157 5b22 F5 .byte 0xf5 34158 5b23 01 .uleb128 0x1 34159 5b24 29 .uleb128 0x29 34160 5b25 F7 .byte 0xf7 34161 5b26 30 .uleb128 0x30 34162 5b27 F7 .byte 0xf7 34163 5b28 00 .uleb128 0 34164 5b29 3F .byte 0x3f 34165 5b2a 1A .byte 0x1a 34166 5b2b 4C .byte 0x4c 34167 5b2c 1E .byte 0x1e 34168 5b2d 23 .byte 0x23 34169 5b2e FC03 .uleb128 0x1fc 34170 5b30 F3 .byte 0xf3 34171 5b31 03 .uleb128 0x3 34172 5b32 F5 .byte 0xf5 34173 5b33 01 .uleb128 0x1 34174 5b34 29 .uleb128 0x29 34175 5b35 F7 .byte 0xf7 34176 5b36 30 .uleb128 0x30 34177 5b37 F7 .byte 0xf7 34178 5b38 00 .uleb128 0 34179 5b39 3F .byte 0x3f 34180 5b3a 1A .byte 0x1a 34181 5b3b 4C .byte 0x4c 34182 5b3c 1E .byte 0x1e 34183 5b3d 23 .byte 0x23 34184 5b3e 3C .uleb128 0x3c 34185 5b3f F3 .byte 0xf3 34186 5b40 03 .uleb128 0x3 34187 5b41 F5 .byte 0xf5 34188 5b42 01 .uleb128 0x1 34189 5b43 29 .uleb128 0x29 34190 5b44 F7 .byte 0xf7 34191 5b45 30 .uleb128 0x30 34192 5b46 F7 .byte 0xf7 34193 5b47 00 .uleb128 0 34194 5b48 F3 .byte 0xf3 34195 5b49 03 .uleb128 0x3 34196 5b4a F5 .byte 0xf5 34197 5b4b 01 .uleb128 0x1 34198 5b4c 29 .uleb128 0x29 34199 5b4d F7 .byte 0xf7 34200 5b4e 30 .uleb128 0x30 34201 5b4f F7 .byte 0xf7 34202 5b50 00 .uleb128 0 34203 5b51 09 .byte 0x9 34204 5b52 FC .byte 0xfc 34205 5b53 24 .byte 0x24 34206 5b54 33 .byte 0x33 34207 5b55 25 .byte 0x25 ARM GAS /tmp/ccJhhmLc.s page 1077 34208 5b56 30 .byte 0x30 34209 5b57 2E .byte 0x2e 34210 5b58 28 .byte 0x28 34211 5b59 0100 .2byte 0x1 34212 5b5b 16 .byte 0x16 34213 5b5c 13 .byte 0x13 34214 5b5d F3 .byte 0xf3 34215 5b5e 03 .uleb128 0x3 34216 5b5f F5 .byte 0xf5 34217 5b60 01 .uleb128 0x1 34218 5b61 29 .uleb128 0x29 34219 5b62 F7 .byte 0xf7 34220 5b63 30 .uleb128 0x30 34221 5b64 F7 .byte 0xf7 34222 5b65 00 .uleb128 0 34223 5b66 09 .byte 0x9 34224 5b67 FC .byte 0xfc 34225 5b68 24 .byte 0x24 34226 5b69 33 .byte 0x33 34227 5b6a 25 .byte 0x25 34228 5b6b 30 .byte 0x30 34229 5b6c 29 .byte 0x29 34230 5b6d 28 .byte 0x28 34231 5b6e 0100 .2byte 0x1 34232 5b70 16 .byte 0x16 34233 5b71 13 .byte 0x13 34234 5b72 74 .byte 0x74 34235 5b73 00 .sleb128 0 34236 5b74 22 .byte 0x22 34237 5b75 F3 .byte 0xf3 34238 5b76 03 .uleb128 0x3 34239 5b77 F5 .byte 0xf5 34240 5b78 01 .uleb128 0x1 34241 5b79 29 .uleb128 0x29 34242 5b7a F7 .byte 0xf7 34243 5b7b 30 .uleb128 0x30 34244 5b7c F7 .byte 0xf7 34245 5b7d 00 .uleb128 0 34246 5b7e 3F .byte 0x3f 34247 5b7f 1A .byte 0x1a 34248 5b80 4C .byte 0x4c 34249 5b81 1E .byte 0x1e 34250 5b82 23 .byte 0x23 34251 5b83 FC03 .uleb128 0x1fc 34252 5b85 F3 .byte 0xf3 34253 5b86 03 .uleb128 0x3 34254 5b87 F5 .byte 0xf5 34255 5b88 01 .uleb128 0x1 34256 5b89 29 .uleb128 0x29 34257 5b8a F7 .byte 0xf7 34258 5b8b 30 .uleb128 0x30 34259 5b8c F7 .byte 0xf7 34260 5b8d 00 .uleb128 0 34261 5b8e 3F .byte 0x3f 34262 5b8f 1A .byte 0x1a 34263 5b90 4C .byte 0x4c 34264 5b91 1E .byte 0x1e ARM GAS /tmp/ccJhhmLc.s page 1078 34265 5b92 23 .byte 0x23 34266 5b93 3C .uleb128 0x3c 34267 5b94 F3 .byte 0xf3 34268 5b95 03 .uleb128 0x3 34269 5b96 F5 .byte 0xf5 34270 5b97 01 .uleb128 0x1 34271 5b98 29 .uleb128 0x29 34272 5b99 F7 .byte 0xf7 34273 5b9a 30 .uleb128 0x30 34274 5b9b F7 .byte 0xf7 34275 5b9c 00 .uleb128 0 34276 5b9d F3 .byte 0xf3 34277 5b9e 03 .uleb128 0x3 34278 5b9f F5 .byte 0xf5 34279 5ba0 01 .uleb128 0x1 34280 5ba1 29 .uleb128 0x29 34281 5ba2 F7 .byte 0xf7 34282 5ba3 30 .uleb128 0x30 34283 5ba4 F7 .byte 0xf7 34284 5ba5 00 .uleb128 0 34285 5ba6 09 .byte 0x9 34286 5ba7 FC .byte 0xfc 34287 5ba8 24 .byte 0x24 34288 5ba9 33 .byte 0x33 34289 5baa 25 .byte 0x25 34290 5bab 30 .byte 0x30 34291 5bac 2E .byte 0x2e 34292 5bad 28 .byte 0x28 34293 5bae 0100 .2byte 0x1 34294 5bb0 16 .byte 0x16 34295 5bb1 13 .byte 0x13 34296 5bb2 F3 .byte 0xf3 34297 5bb3 03 .uleb128 0x3 34298 5bb4 F5 .byte 0xf5 34299 5bb5 01 .uleb128 0x1 34300 5bb6 29 .uleb128 0x29 34301 5bb7 F7 .byte 0xf7 34302 5bb8 30 .uleb128 0x30 34303 5bb9 F7 .byte 0xf7 34304 5bba 00 .uleb128 0 34305 5bbb 09 .byte 0x9 34306 5bbc FC .byte 0xfc 34307 5bbd 24 .byte 0x24 34308 5bbe 33 .byte 0x33 34309 5bbf 25 .byte 0x25 34310 5bc0 30 .byte 0x30 34311 5bc1 29 .byte 0x29 34312 5bc2 28 .byte 0x28 34313 5bc3 0100 .2byte 0x1 34314 5bc5 16 .byte 0x16 34315 5bc6 13 .byte 0x13 34316 5bc7 F3 .byte 0xf3 34317 5bc8 03 .uleb128 0x3 34318 5bc9 F5 .byte 0xf5 34319 5bca 01 .uleb128 0x1 34320 5bcb 29 .uleb128 0x29 34321 5bcc F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1079 34322 5bcd 30 .uleb128 0x30 34323 5bce F7 .byte 0xf7 34324 5bcf 00 .uleb128 0 34325 5bd0 09 .byte 0x9 34326 5bd1 FC .byte 0xfc 34327 5bd2 24 .byte 0x24 34328 5bd3 33 .byte 0x33 34329 5bd4 25 .byte 0x25 34330 5bd5 30 .byte 0x30 34331 5bd6 2E .byte 0x2e 34332 5bd7 28 .byte 0x28 34333 5bd8 0100 .2byte 0x1 34334 5bda 16 .byte 0x16 34335 5bdb 13 .byte 0x13 34336 5bdc 74 .byte 0x74 34337 5bdd 00 .sleb128 0 34338 5bde 22 .byte 0x22 34339 5bdf 9F .byte 0x9f 34340 5be0 00000000 .4byte 0 34341 5be4 00000000 .4byte 0 34342 .LVUS371: 34343 5be8 00 .uleb128 .LVU2629 34344 5be9 00 .uleb128 .LVU2642 34345 5bea 00 .uleb128 .LVU2646 34346 5beb 00 .uleb128 0 34347 .LLST371: 34348 5bec 64000000 .4byte .LVL558 34349 5bf0 9C000000 .4byte .LVL561 34350 5bf4 0100 .2byte 0x1 34351 5bf6 50 .byte 0x50 34352 5bf7 A4000000 .4byte .LVL563 34353 5bfb C0000000 .4byte .LFE169 34354 5bff 0100 .2byte 0x1 34355 5c01 50 .byte 0x50 34356 5c02 00000000 .4byte 0 34357 5c06 00000000 .4byte 0 34358 .LVUS372: 34359 5c0a 00 .uleb128 .LVU2629 34360 5c0b 00 .uleb128 .LVU2641 34361 5c0c 00 .uleb128 .LVU2641 34362 5c0d 00 .uleb128 .LVU2642 34363 5c0e 00 .uleb128 .LVU2646 34364 5c0f 00 .uleb128 .LVU2647 34365 5c10 00 .uleb128 .LVU2647 34366 5c11 00 .uleb128 0 34367 .LLST372: 34368 5c12 64000000 .4byte .LVL558 34369 5c16 92000000 .4byte .LVL560 34370 5c1a 9C00 .2byte 0x9c 34371 5c1c 75 .byte 0x75 34372 5c1d 00 .sleb128 0 34373 5c1e 4C .byte 0x4c 34374 5c1f 1E .byte 0x1e 34375 5c20 23 .byte 0x23 34376 5c21 FC03 .uleb128 0x1fc 34377 5c23 75 .byte 0x75 34378 5c24 00 .sleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1080 34379 5c25 4C .byte 0x4c 34380 5c26 1E .byte 0x1e 34381 5c27 23 .byte 0x23 34382 5c28 3C .uleb128 0x3c 34383 5c29 F3 .byte 0xf3 34384 5c2a 03 .uleb128 0x3 34385 5c2b F5 .byte 0xf5 34386 5c2c 01 .uleb128 0x1 34387 5c2d 29 .uleb128 0x29 34388 5c2e F7 .byte 0xf7 34389 5c2f 30 .uleb128 0x30 34390 5c30 F7 .byte 0xf7 34391 5c31 00 .uleb128 0 34392 5c32 F3 .byte 0xf3 34393 5c33 03 .uleb128 0x3 34394 5c34 F5 .byte 0xf5 34395 5c35 01 .uleb128 0x1 34396 5c36 29 .uleb128 0x29 34397 5c37 F7 .byte 0xf7 34398 5c38 30 .uleb128 0x30 34399 5c39 F7 .byte 0xf7 34400 5c3a 00 .uleb128 0 34401 5c3b 09 .byte 0x9 34402 5c3c FC .byte 0xfc 34403 5c3d 24 .byte 0x24 34404 5c3e 33 .byte 0x33 34405 5c3f 25 .byte 0x25 34406 5c40 30 .byte 0x30 34407 5c41 2E .byte 0x2e 34408 5c42 28 .byte 0x28 34409 5c43 0100 .2byte 0x1 34410 5c45 16 .byte 0x16 34411 5c46 13 .byte 0x13 34412 5c47 F3 .byte 0xf3 34413 5c48 03 .uleb128 0x3 34414 5c49 F5 .byte 0xf5 34415 5c4a 01 .uleb128 0x1 34416 5c4b 29 .uleb128 0x29 34417 5c4c F7 .byte 0xf7 34418 5c4d 30 .uleb128 0x30 34419 5c4e F7 .byte 0xf7 34420 5c4f 00 .uleb128 0 34421 5c50 09 .byte 0x9 34422 5c51 FC .byte 0xfc 34423 5c52 24 .byte 0x24 34424 5c53 33 .byte 0x33 34425 5c54 25 .byte 0x25 34426 5c55 30 .byte 0x30 34427 5c56 29 .byte 0x29 34428 5c57 28 .byte 0x28 34429 5c58 0100 .2byte 0x1 34430 5c5a 16 .byte 0x16 34431 5c5b 13 .byte 0x13 34432 5c5c 74 .byte 0x74 34433 5c5d 00 .sleb128 0 34434 5c5e 22 .byte 0x22 34435 5c5f 75 .byte 0x75 ARM GAS /tmp/ccJhhmLc.s page 1081 34436 5c60 00 .sleb128 0 34437 5c61 4C .byte 0x4c 34438 5c62 1E .byte 0x1e 34439 5c63 23 .byte 0x23 34440 5c64 FC03 .uleb128 0x1fc 34441 5c66 75 .byte 0x75 34442 5c67 00 .sleb128 0 34443 5c68 4C .byte 0x4c 34444 5c69 1E .byte 0x1e 34445 5c6a 23 .byte 0x23 34446 5c6b 3C .uleb128 0x3c 34447 5c6c F3 .byte 0xf3 34448 5c6d 03 .uleb128 0x3 34449 5c6e F5 .byte 0xf5 34450 5c6f 01 .uleb128 0x1 34451 5c70 29 .uleb128 0x29 34452 5c71 F7 .byte 0xf7 34453 5c72 30 .uleb128 0x30 34454 5c73 F7 .byte 0xf7 34455 5c74 00 .uleb128 0 34456 5c75 F3 .byte 0xf3 34457 5c76 03 .uleb128 0x3 34458 5c77 F5 .byte 0xf5 34459 5c78 01 .uleb128 0x1 34460 5c79 29 .uleb128 0x29 34461 5c7a F7 .byte 0xf7 34462 5c7b 30 .uleb128 0x30 34463 5c7c F7 .byte 0xf7 34464 5c7d 00 .uleb128 0 34465 5c7e 09 .byte 0x9 34466 5c7f FC .byte 0xfc 34467 5c80 24 .byte 0x24 34468 5c81 33 .byte 0x33 34469 5c82 25 .byte 0x25 34470 5c83 30 .byte 0x30 34471 5c84 2E .byte 0x2e 34472 5c85 28 .byte 0x28 34473 5c86 0100 .2byte 0x1 34474 5c88 16 .byte 0x16 34475 5c89 13 .byte 0x13 34476 5c8a F3 .byte 0xf3 34477 5c8b 03 .uleb128 0x3 34478 5c8c F5 .byte 0xf5 34479 5c8d 01 .uleb128 0x1 34480 5c8e 29 .uleb128 0x29 34481 5c8f F7 .byte 0xf7 34482 5c90 30 .uleb128 0x30 34483 5c91 F7 .byte 0xf7 34484 5c92 00 .uleb128 0 34485 5c93 09 .byte 0x9 34486 5c94 FC .byte 0xfc 34487 5c95 24 .byte 0x24 34488 5c96 33 .byte 0x33 34489 5c97 25 .byte 0x25 34490 5c98 30 .byte 0x30 34491 5c99 29 .byte 0x29 34492 5c9a 28 .byte 0x28 ARM GAS /tmp/ccJhhmLc.s page 1082 34493 5c9b 0100 .2byte 0x1 34494 5c9d 16 .byte 0x16 34495 5c9e 13 .byte 0x13 34496 5c9f F3 .byte 0xf3 34497 5ca0 03 .uleb128 0x3 34498 5ca1 F5 .byte 0xf5 34499 5ca2 01 .uleb128 0x1 34500 5ca3 29 .uleb128 0x29 34501 5ca4 F7 .byte 0xf7 34502 5ca5 30 .uleb128 0x30 34503 5ca6 F7 .byte 0xf7 34504 5ca7 00 .uleb128 0 34505 5ca8 09 .byte 0x9 34506 5ca9 FC .byte 0xfc 34507 5caa 24 .byte 0x24 34508 5cab 33 .byte 0x33 34509 5cac 25 .byte 0x25 34510 5cad 30 .byte 0x30 34511 5cae 2E .byte 0x2e 34512 5caf 28 .byte 0x28 34513 5cb0 0100 .2byte 0x1 34514 5cb2 16 .byte 0x16 34515 5cb3 13 .byte 0x13 34516 5cb4 74 .byte 0x74 34517 5cb5 00 .sleb128 0 34518 5cb6 22 .byte 0x22 34519 5cb7 9F .byte 0x9f 34520 5cb8 92000000 .4byte .LVL560 34521 5cbc 9C000000 .4byte .LVL561 34522 5cc0 C000 .2byte 0xc0 34523 5cc2 F3 .byte 0xf3 34524 5cc3 03 .uleb128 0x3 34525 5cc4 F5 .byte 0xf5 34526 5cc5 01 .uleb128 0x1 34527 5cc6 29 .uleb128 0x29 34528 5cc7 F7 .byte 0xf7 34529 5cc8 30 .uleb128 0x30 34530 5cc9 F7 .byte 0xf7 34531 5cca 00 .uleb128 0 34532 5ccb 3F .byte 0x3f 34533 5ccc 1A .byte 0x1a 34534 5ccd 4C .byte 0x4c 34535 5cce 1E .byte 0x1e 34536 5ccf 23 .byte 0x23 34537 5cd0 FC03 .uleb128 0x1fc 34538 5cd2 F3 .byte 0xf3 34539 5cd3 03 .uleb128 0x3 34540 5cd4 F5 .byte 0xf5 34541 5cd5 01 .uleb128 0x1 34542 5cd6 29 .uleb128 0x29 34543 5cd7 F7 .byte 0xf7 34544 5cd8 30 .uleb128 0x30 34545 5cd9 F7 .byte 0xf7 34546 5cda 00 .uleb128 0 34547 5cdb 3F .byte 0x3f 34548 5cdc 1A .byte 0x1a 34549 5cdd 4C .byte 0x4c ARM GAS /tmp/ccJhhmLc.s page 1083 34550 5cde 1E .byte 0x1e 34551 5cdf 23 .byte 0x23 34552 5ce0 3C .uleb128 0x3c 34553 5ce1 F3 .byte 0xf3 34554 5ce2 03 .uleb128 0x3 34555 5ce3 F5 .byte 0xf5 34556 5ce4 01 .uleb128 0x1 34557 5ce5 29 .uleb128 0x29 34558 5ce6 F7 .byte 0xf7 34559 5ce7 30 .uleb128 0x30 34560 5ce8 F7 .byte 0xf7 34561 5ce9 00 .uleb128 0 34562 5cea F3 .byte 0xf3 34563 5ceb 03 .uleb128 0x3 34564 5cec F5 .byte 0xf5 34565 5ced 01 .uleb128 0x1 34566 5cee 29 .uleb128 0x29 34567 5cef F7 .byte 0xf7 34568 5cf0 30 .uleb128 0x30 34569 5cf1 F7 .byte 0xf7 34570 5cf2 00 .uleb128 0 34571 5cf3 09 .byte 0x9 34572 5cf4 FC .byte 0xfc 34573 5cf5 24 .byte 0x24 34574 5cf6 33 .byte 0x33 34575 5cf7 25 .byte 0x25 34576 5cf8 30 .byte 0x30 34577 5cf9 2E .byte 0x2e 34578 5cfa 28 .byte 0x28 34579 5cfb 0100 .2byte 0x1 34580 5cfd 16 .byte 0x16 34581 5cfe 13 .byte 0x13 34582 5cff F3 .byte 0xf3 34583 5d00 03 .uleb128 0x3 34584 5d01 F5 .byte 0xf5 34585 5d02 01 .uleb128 0x1 34586 5d03 29 .uleb128 0x29 34587 5d04 F7 .byte 0xf7 34588 5d05 30 .uleb128 0x30 34589 5d06 F7 .byte 0xf7 34590 5d07 00 .uleb128 0 34591 5d08 09 .byte 0x9 34592 5d09 FC .byte 0xfc 34593 5d0a 24 .byte 0x24 34594 5d0b 33 .byte 0x33 34595 5d0c 25 .byte 0x25 34596 5d0d 30 .byte 0x30 34597 5d0e 29 .byte 0x29 34598 5d0f 28 .byte 0x28 34599 5d10 0100 .2byte 0x1 34600 5d12 16 .byte 0x16 34601 5d13 13 .byte 0x13 34602 5d14 74 .byte 0x74 34603 5d15 00 .sleb128 0 34604 5d16 22 .byte 0x22 34605 5d17 F3 .byte 0xf3 34606 5d18 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 1084 34607 5d19 F5 .byte 0xf5 34608 5d1a 01 .uleb128 0x1 34609 5d1b 29 .uleb128 0x29 34610 5d1c F7 .byte 0xf7 34611 5d1d 30 .uleb128 0x30 34612 5d1e F7 .byte 0xf7 34613 5d1f 00 .uleb128 0 34614 5d20 3F .byte 0x3f 34615 5d21 1A .byte 0x1a 34616 5d22 4C .byte 0x4c 34617 5d23 1E .byte 0x1e 34618 5d24 23 .byte 0x23 34619 5d25 FC03 .uleb128 0x1fc 34620 5d27 F3 .byte 0xf3 34621 5d28 03 .uleb128 0x3 34622 5d29 F5 .byte 0xf5 34623 5d2a 01 .uleb128 0x1 34624 5d2b 29 .uleb128 0x29 34625 5d2c F7 .byte 0xf7 34626 5d2d 30 .uleb128 0x30 34627 5d2e F7 .byte 0xf7 34628 5d2f 00 .uleb128 0 34629 5d30 3F .byte 0x3f 34630 5d31 1A .byte 0x1a 34631 5d32 4C .byte 0x4c 34632 5d33 1E .byte 0x1e 34633 5d34 23 .byte 0x23 34634 5d35 3C .uleb128 0x3c 34635 5d36 F3 .byte 0xf3 34636 5d37 03 .uleb128 0x3 34637 5d38 F5 .byte 0xf5 34638 5d39 01 .uleb128 0x1 34639 5d3a 29 .uleb128 0x29 34640 5d3b F7 .byte 0xf7 34641 5d3c 30 .uleb128 0x30 34642 5d3d F7 .byte 0xf7 34643 5d3e 00 .uleb128 0 34644 5d3f F3 .byte 0xf3 34645 5d40 03 .uleb128 0x3 34646 5d41 F5 .byte 0xf5 34647 5d42 01 .uleb128 0x1 34648 5d43 29 .uleb128 0x29 34649 5d44 F7 .byte 0xf7 34650 5d45 30 .uleb128 0x30 34651 5d46 F7 .byte 0xf7 34652 5d47 00 .uleb128 0 34653 5d48 09 .byte 0x9 34654 5d49 FC .byte 0xfc 34655 5d4a 24 .byte 0x24 34656 5d4b 33 .byte 0x33 34657 5d4c 25 .byte 0x25 34658 5d4d 30 .byte 0x30 34659 5d4e 2E .byte 0x2e 34660 5d4f 28 .byte 0x28 34661 5d50 0100 .2byte 0x1 34662 5d52 16 .byte 0x16 34663 5d53 13 .byte 0x13 ARM GAS /tmp/ccJhhmLc.s page 1085 34664 5d54 F3 .byte 0xf3 34665 5d55 03 .uleb128 0x3 34666 5d56 F5 .byte 0xf5 34667 5d57 01 .uleb128 0x1 34668 5d58 29 .uleb128 0x29 34669 5d59 F7 .byte 0xf7 34670 5d5a 30 .uleb128 0x30 34671 5d5b F7 .byte 0xf7 34672 5d5c 00 .uleb128 0 34673 5d5d 09 .byte 0x9 34674 5d5e FC .byte 0xfc 34675 5d5f 24 .byte 0x24 34676 5d60 33 .byte 0x33 34677 5d61 25 .byte 0x25 34678 5d62 30 .byte 0x30 34679 5d63 29 .byte 0x29 34680 5d64 28 .byte 0x28 34681 5d65 0100 .2byte 0x1 34682 5d67 16 .byte 0x16 34683 5d68 13 .byte 0x13 34684 5d69 F3 .byte 0xf3 34685 5d6a 03 .uleb128 0x3 34686 5d6b F5 .byte 0xf5 34687 5d6c 01 .uleb128 0x1 34688 5d6d 29 .uleb128 0x29 34689 5d6e F7 .byte 0xf7 34690 5d6f 30 .uleb128 0x30 34691 5d70 F7 .byte 0xf7 34692 5d71 00 .uleb128 0 34693 5d72 09 .byte 0x9 34694 5d73 FC .byte 0xfc 34695 5d74 24 .byte 0x24 34696 5d75 33 .byte 0x33 34697 5d76 25 .byte 0x25 34698 5d77 30 .byte 0x30 34699 5d78 2E .byte 0x2e 34700 5d79 28 .byte 0x28 34701 5d7a 0100 .2byte 0x1 34702 5d7c 16 .byte 0x16 34703 5d7d 13 .byte 0x13 34704 5d7e 74 .byte 0x74 34705 5d7f 00 .sleb128 0 34706 5d80 22 .byte 0x22 34707 5d81 9F .byte 0x9f 34708 5d82 A4000000 .4byte .LVL563 34709 5d86 A6000000 .4byte .LVL564 34710 5d8a 9C00 .2byte 0x9c 34711 5d8c 75 .byte 0x75 34712 5d8d 00 .sleb128 0 34713 5d8e 4C .byte 0x4c 34714 5d8f 1E .byte 0x1e 34715 5d90 23 .byte 0x23 34716 5d91 FC03 .uleb128 0x1fc 34717 5d93 75 .byte 0x75 34718 5d94 00 .sleb128 0 34719 5d95 4C .byte 0x4c 34720 5d96 1E .byte 0x1e ARM GAS /tmp/ccJhhmLc.s page 1086 34721 5d97 23 .byte 0x23 34722 5d98 3C .uleb128 0x3c 34723 5d99 F3 .byte 0xf3 34724 5d9a 03 .uleb128 0x3 34725 5d9b F5 .byte 0xf5 34726 5d9c 01 .uleb128 0x1 34727 5d9d 29 .uleb128 0x29 34728 5d9e F7 .byte 0xf7 34729 5d9f 30 .uleb128 0x30 34730 5da0 F7 .byte 0xf7 34731 5da1 00 .uleb128 0 34732 5da2 F3 .byte 0xf3 34733 5da3 03 .uleb128 0x3 34734 5da4 F5 .byte 0xf5 34735 5da5 01 .uleb128 0x1 34736 5da6 29 .uleb128 0x29 34737 5da7 F7 .byte 0xf7 34738 5da8 30 .uleb128 0x30 34739 5da9 F7 .byte 0xf7 34740 5daa 00 .uleb128 0 34741 5dab 09 .byte 0x9 34742 5dac FC .byte 0xfc 34743 5dad 24 .byte 0x24 34744 5dae 33 .byte 0x33 34745 5daf 25 .byte 0x25 34746 5db0 30 .byte 0x30 34747 5db1 2E .byte 0x2e 34748 5db2 28 .byte 0x28 34749 5db3 0100 .2byte 0x1 34750 5db5 16 .byte 0x16 34751 5db6 13 .byte 0x13 34752 5db7 F3 .byte 0xf3 34753 5db8 03 .uleb128 0x3 34754 5db9 F5 .byte 0xf5 34755 5dba 01 .uleb128 0x1 34756 5dbb 29 .uleb128 0x29 34757 5dbc F7 .byte 0xf7 34758 5dbd 30 .uleb128 0x30 34759 5dbe F7 .byte 0xf7 34760 5dbf 00 .uleb128 0 34761 5dc0 09 .byte 0x9 34762 5dc1 FC .byte 0xfc 34763 5dc2 24 .byte 0x24 34764 5dc3 33 .byte 0x33 34765 5dc4 25 .byte 0x25 34766 5dc5 30 .byte 0x30 34767 5dc6 29 .byte 0x29 34768 5dc7 28 .byte 0x28 34769 5dc8 0100 .2byte 0x1 34770 5dca 16 .byte 0x16 34771 5dcb 13 .byte 0x13 34772 5dcc 74 .byte 0x74 34773 5dcd 00 .sleb128 0 34774 5dce 22 .byte 0x22 34775 5dcf 75 .byte 0x75 34776 5dd0 00 .sleb128 0 34777 5dd1 4C .byte 0x4c ARM GAS /tmp/ccJhhmLc.s page 1087 34778 5dd2 1E .byte 0x1e 34779 5dd3 23 .byte 0x23 34780 5dd4 FC03 .uleb128 0x1fc 34781 5dd6 75 .byte 0x75 34782 5dd7 00 .sleb128 0 34783 5dd8 4C .byte 0x4c 34784 5dd9 1E .byte 0x1e 34785 5dda 23 .byte 0x23 34786 5ddb 3C .uleb128 0x3c 34787 5ddc F3 .byte 0xf3 34788 5ddd 03 .uleb128 0x3 34789 5dde F5 .byte 0xf5 34790 5ddf 01 .uleb128 0x1 34791 5de0 29 .uleb128 0x29 34792 5de1 F7 .byte 0xf7 34793 5de2 30 .uleb128 0x30 34794 5de3 F7 .byte 0xf7 34795 5de4 00 .uleb128 0 34796 5de5 F3 .byte 0xf3 34797 5de6 03 .uleb128 0x3 34798 5de7 F5 .byte 0xf5 34799 5de8 01 .uleb128 0x1 34800 5de9 29 .uleb128 0x29 34801 5dea F7 .byte 0xf7 34802 5deb 30 .uleb128 0x30 34803 5dec F7 .byte 0xf7 34804 5ded 00 .uleb128 0 34805 5dee 09 .byte 0x9 34806 5def FC .byte 0xfc 34807 5df0 24 .byte 0x24 34808 5df1 33 .byte 0x33 34809 5df2 25 .byte 0x25 34810 5df3 30 .byte 0x30 34811 5df4 2E .byte 0x2e 34812 5df5 28 .byte 0x28 34813 5df6 0100 .2byte 0x1 34814 5df8 16 .byte 0x16 34815 5df9 13 .byte 0x13 34816 5dfa F3 .byte 0xf3 34817 5dfb 03 .uleb128 0x3 34818 5dfc F5 .byte 0xf5 34819 5dfd 01 .uleb128 0x1 34820 5dfe 29 .uleb128 0x29 34821 5dff F7 .byte 0xf7 34822 5e00 30 .uleb128 0x30 34823 5e01 F7 .byte 0xf7 34824 5e02 00 .uleb128 0 34825 5e03 09 .byte 0x9 34826 5e04 FC .byte 0xfc 34827 5e05 24 .byte 0x24 34828 5e06 33 .byte 0x33 34829 5e07 25 .byte 0x25 34830 5e08 30 .byte 0x30 34831 5e09 29 .byte 0x29 34832 5e0a 28 .byte 0x28 34833 5e0b 0100 .2byte 0x1 34834 5e0d 16 .byte 0x16 ARM GAS /tmp/ccJhhmLc.s page 1088 34835 5e0e 13 .byte 0x13 34836 5e0f F3 .byte 0xf3 34837 5e10 03 .uleb128 0x3 34838 5e11 F5 .byte 0xf5 34839 5e12 01 .uleb128 0x1 34840 5e13 29 .uleb128 0x29 34841 5e14 F7 .byte 0xf7 34842 5e15 30 .uleb128 0x30 34843 5e16 F7 .byte 0xf7 34844 5e17 00 .uleb128 0 34845 5e18 09 .byte 0x9 34846 5e19 FC .byte 0xfc 34847 5e1a 24 .byte 0x24 34848 5e1b 33 .byte 0x33 34849 5e1c 25 .byte 0x25 34850 5e1d 30 .byte 0x30 34851 5e1e 2E .byte 0x2e 34852 5e1f 28 .byte 0x28 34853 5e20 0100 .2byte 0x1 34854 5e22 16 .byte 0x16 34855 5e23 13 .byte 0x13 34856 5e24 74 .byte 0x74 34857 5e25 00 .sleb128 0 34858 5e26 22 .byte 0x22 34859 5e27 9F .byte 0x9f 34860 5e28 A6000000 .4byte .LVL564 34861 5e2c C0000000 .4byte .LFE169 34862 5e30 C000 .2byte 0xc0 34863 5e32 F3 .byte 0xf3 34864 5e33 03 .uleb128 0x3 34865 5e34 F5 .byte 0xf5 34866 5e35 01 .uleb128 0x1 34867 5e36 29 .uleb128 0x29 34868 5e37 F7 .byte 0xf7 34869 5e38 30 .uleb128 0x30 34870 5e39 F7 .byte 0xf7 34871 5e3a 00 .uleb128 0 34872 5e3b 3F .byte 0x3f 34873 5e3c 1A .byte 0x1a 34874 5e3d 4C .byte 0x4c 34875 5e3e 1E .byte 0x1e 34876 5e3f 23 .byte 0x23 34877 5e40 FC03 .uleb128 0x1fc 34878 5e42 F3 .byte 0xf3 34879 5e43 03 .uleb128 0x3 34880 5e44 F5 .byte 0xf5 34881 5e45 01 .uleb128 0x1 34882 5e46 29 .uleb128 0x29 34883 5e47 F7 .byte 0xf7 34884 5e48 30 .uleb128 0x30 34885 5e49 F7 .byte 0xf7 34886 5e4a 00 .uleb128 0 34887 5e4b 3F .byte 0x3f 34888 5e4c 1A .byte 0x1a 34889 5e4d 4C .byte 0x4c 34890 5e4e 1E .byte 0x1e 34891 5e4f 23 .byte 0x23 ARM GAS /tmp/ccJhhmLc.s page 1089 34892 5e50 3C .uleb128 0x3c 34893 5e51 F3 .byte 0xf3 34894 5e52 03 .uleb128 0x3 34895 5e53 F5 .byte 0xf5 34896 5e54 01 .uleb128 0x1 34897 5e55 29 .uleb128 0x29 34898 5e56 F7 .byte 0xf7 34899 5e57 30 .uleb128 0x30 34900 5e58 F7 .byte 0xf7 34901 5e59 00 .uleb128 0 34902 5e5a F3 .byte 0xf3 34903 5e5b 03 .uleb128 0x3 34904 5e5c F5 .byte 0xf5 34905 5e5d 01 .uleb128 0x1 34906 5e5e 29 .uleb128 0x29 34907 5e5f F7 .byte 0xf7 34908 5e60 30 .uleb128 0x30 34909 5e61 F7 .byte 0xf7 34910 5e62 00 .uleb128 0 34911 5e63 09 .byte 0x9 34912 5e64 FC .byte 0xfc 34913 5e65 24 .byte 0x24 34914 5e66 33 .byte 0x33 34915 5e67 25 .byte 0x25 34916 5e68 30 .byte 0x30 34917 5e69 2E .byte 0x2e 34918 5e6a 28 .byte 0x28 34919 5e6b 0100 .2byte 0x1 34920 5e6d 16 .byte 0x16 34921 5e6e 13 .byte 0x13 34922 5e6f F3 .byte 0xf3 34923 5e70 03 .uleb128 0x3 34924 5e71 F5 .byte 0xf5 34925 5e72 01 .uleb128 0x1 34926 5e73 29 .uleb128 0x29 34927 5e74 F7 .byte 0xf7 34928 5e75 30 .uleb128 0x30 34929 5e76 F7 .byte 0xf7 34930 5e77 00 .uleb128 0 34931 5e78 09 .byte 0x9 34932 5e79 FC .byte 0xfc 34933 5e7a 24 .byte 0x24 34934 5e7b 33 .byte 0x33 34935 5e7c 25 .byte 0x25 34936 5e7d 30 .byte 0x30 34937 5e7e 29 .byte 0x29 34938 5e7f 28 .byte 0x28 34939 5e80 0100 .2byte 0x1 34940 5e82 16 .byte 0x16 34941 5e83 13 .byte 0x13 34942 5e84 74 .byte 0x74 34943 5e85 00 .sleb128 0 34944 5e86 22 .byte 0x22 34945 5e87 F3 .byte 0xf3 34946 5e88 03 .uleb128 0x3 34947 5e89 F5 .byte 0xf5 34948 5e8a 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1090 34949 5e8b 29 .uleb128 0x29 34950 5e8c F7 .byte 0xf7 34951 5e8d 30 .uleb128 0x30 34952 5e8e F7 .byte 0xf7 34953 5e8f 00 .uleb128 0 34954 5e90 3F .byte 0x3f 34955 5e91 1A .byte 0x1a 34956 5e92 4C .byte 0x4c 34957 5e93 1E .byte 0x1e 34958 5e94 23 .byte 0x23 34959 5e95 FC03 .uleb128 0x1fc 34960 5e97 F3 .byte 0xf3 34961 5e98 03 .uleb128 0x3 34962 5e99 F5 .byte 0xf5 34963 5e9a 01 .uleb128 0x1 34964 5e9b 29 .uleb128 0x29 34965 5e9c F7 .byte 0xf7 34966 5e9d 30 .uleb128 0x30 34967 5e9e F7 .byte 0xf7 34968 5e9f 00 .uleb128 0 34969 5ea0 3F .byte 0x3f 34970 5ea1 1A .byte 0x1a 34971 5ea2 4C .byte 0x4c 34972 5ea3 1E .byte 0x1e 34973 5ea4 23 .byte 0x23 34974 5ea5 3C .uleb128 0x3c 34975 5ea6 F3 .byte 0xf3 34976 5ea7 03 .uleb128 0x3 34977 5ea8 F5 .byte 0xf5 34978 5ea9 01 .uleb128 0x1 34979 5eaa 29 .uleb128 0x29 34980 5eab F7 .byte 0xf7 34981 5eac 30 .uleb128 0x30 34982 5ead F7 .byte 0xf7 34983 5eae 00 .uleb128 0 34984 5eaf F3 .byte 0xf3 34985 5eb0 03 .uleb128 0x3 34986 5eb1 F5 .byte 0xf5 34987 5eb2 01 .uleb128 0x1 34988 5eb3 29 .uleb128 0x29 34989 5eb4 F7 .byte 0xf7 34990 5eb5 30 .uleb128 0x30 34991 5eb6 F7 .byte 0xf7 34992 5eb7 00 .uleb128 0 34993 5eb8 09 .byte 0x9 34994 5eb9 FC .byte 0xfc 34995 5eba 24 .byte 0x24 34996 5ebb 33 .byte 0x33 34997 5ebc 25 .byte 0x25 34998 5ebd 30 .byte 0x30 34999 5ebe 2E .byte 0x2e 35000 5ebf 28 .byte 0x28 35001 5ec0 0100 .2byte 0x1 35002 5ec2 16 .byte 0x16 35003 5ec3 13 .byte 0x13 35004 5ec4 F3 .byte 0xf3 35005 5ec5 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 1091 35006 5ec6 F5 .byte 0xf5 35007 5ec7 01 .uleb128 0x1 35008 5ec8 29 .uleb128 0x29 35009 5ec9 F7 .byte 0xf7 35010 5eca 30 .uleb128 0x30 35011 5ecb F7 .byte 0xf7 35012 5ecc 00 .uleb128 0 35013 5ecd 09 .byte 0x9 35014 5ece FC .byte 0xfc 35015 5ecf 24 .byte 0x24 35016 5ed0 33 .byte 0x33 35017 5ed1 25 .byte 0x25 35018 5ed2 30 .byte 0x30 35019 5ed3 29 .byte 0x29 35020 5ed4 28 .byte 0x28 35021 5ed5 0100 .2byte 0x1 35022 5ed7 16 .byte 0x16 35023 5ed8 13 .byte 0x13 35024 5ed9 F3 .byte 0xf3 35025 5eda 03 .uleb128 0x3 35026 5edb F5 .byte 0xf5 35027 5edc 01 .uleb128 0x1 35028 5edd 29 .uleb128 0x29 35029 5ede F7 .byte 0xf7 35030 5edf 30 .uleb128 0x30 35031 5ee0 F7 .byte 0xf7 35032 5ee1 00 .uleb128 0 35033 5ee2 09 .byte 0x9 35034 5ee3 FC .byte 0xfc 35035 5ee4 24 .byte 0x24 35036 5ee5 33 .byte 0x33 35037 5ee6 25 .byte 0x25 35038 5ee7 30 .byte 0x30 35039 5ee8 2E .byte 0x2e 35040 5ee9 28 .byte 0x28 35041 5eea 0100 .2byte 0x1 35042 5eec 16 .byte 0x16 35043 5eed 13 .byte 0x13 35044 5eee 74 .byte 0x74 35045 5eef 00 .sleb128 0 35046 5ef0 22 .byte 0x22 35047 5ef1 9F .byte 0x9f 35048 5ef2 00000000 .4byte 0 35049 5ef6 00000000 .4byte 0 35050 .LVUS374: 35051 5efa 00 .uleb128 .LVU2629 35052 5efb 00 .uleb128 .LVU2642 35053 5efc 00 .uleb128 .LVU2646 35054 5efd 00 .uleb128 0 35055 .LLST374: 35056 5efe 64000000 .4byte .LVL558 35057 5f02 9C000000 .4byte .LVL561 35058 5f06 0F00 .2byte 0xf 35059 5f08 F3 .byte 0xf3 35060 5f09 03 .uleb128 0x3 35061 5f0a F5 .byte 0xf5 35062 5f0b 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1092 35063 5f0c 29 .uleb128 0x29 35064 5f0d F7 .byte 0xf7 35065 5f0e 37 .uleb128 0x37 35066 5f0f F7 .byte 0xf7 35067 5f10 00 .uleb128 0 35068 5f11 3F .byte 0x3f 35069 5f12 1A .byte 0x1a 35070 5f13 08 .byte 0x8 35071 5f14 FF .byte 0xff 35072 5f15 1A .byte 0x1a 35073 5f16 9F .byte 0x9f 35074 5f17 A4000000 .4byte .LVL563 35075 5f1b C0000000 .4byte .LFE169 35076 5f1f 0F00 .2byte 0xf 35077 5f21 F3 .byte 0xf3 35078 5f22 03 .uleb128 0x3 35079 5f23 F5 .byte 0xf5 35080 5f24 01 .uleb128 0x1 35081 5f25 29 .uleb128 0x29 35082 5f26 F7 .byte 0xf7 35083 5f27 37 .uleb128 0x37 35084 5f28 F7 .byte 0xf7 35085 5f29 00 .uleb128 0 35086 5f2a 3F .byte 0x3f 35087 5f2b 1A .byte 0x1a 35088 5f2c 08 .byte 0x8 35089 5f2d FF .byte 0xff 35090 5f2e 1A .byte 0x1a 35091 5f2f 9F .byte 0x9f 35092 5f30 00000000 .4byte 0 35093 5f34 00000000 .4byte 0 35094 .LLST375: 35095 5f38 00000000 .4byte .LFB174 35096 5f3c 08000000 .4byte .LCFI71 35097 5f40 0200 .2byte 0x2 35098 5f42 7D .byte 0x7d 35099 5f43 00 .sleb128 0 35100 5f44 08000000 .4byte .LCFI71 35101 5f48 38000000 .4byte .LFE174 35102 5f4c 0200 .2byte 0x2 35103 5f4e 7D .byte 0x7d 35104 5f4f 08 .sleb128 8 35105 5f50 00000000 .4byte 0 35106 5f54 00000000 .4byte 0 35107 .LVUS376: 35108 5f58 00 .uleb128 0 35109 5f59 00 .uleb128 .LVU2658 35110 5f5a 00 .uleb128 .LVU2658 35111 5f5b 00 .uleb128 0 35112 .LLST376: 35113 5f5c 00000000 .4byte .LVL566 35114 5f60 0C000000 .4byte .LVL567 35115 5f64 0100 .2byte 0x1 35116 5f66 50 .byte 0x50 35117 5f67 0C000000 .4byte .LVL567 35118 5f6b 38000000 .4byte .LFE174 35119 5f6f 0A00 .2byte 0xa ARM GAS /tmp/ccJhhmLc.s page 1093 35120 5f71 F3 .byte 0xf3 35121 5f72 03 .uleb128 0x3 35122 5f73 F5 .byte 0xf5 35123 5f74 00 .uleb128 0 35124 5f75 29 .uleb128 0x29 35125 5f76 F7 .byte 0xf7 35126 5f77 30 .uleb128 0x30 35127 5f78 F7 .byte 0xf7 35128 5f79 00 .uleb128 0 35129 5f7a 9F .byte 0x9f 35130 5f7b 00000000 .4byte 0 35131 5f7f 00000000 .4byte 0 35132 .LVUS377: 35133 5f83 00 .uleb128 0 35134 5f84 00 .uleb128 .LVU2664 35135 5f85 00 .uleb128 .LVU2664 35136 5f86 00 .uleb128 .LVU2667 35137 5f87 00 .uleb128 .LVU2667 35138 5f88 00 .uleb128 0 35139 .LLST377: 35140 5f89 00000000 .4byte .LVL566 35141 5f8d 24000000 .4byte .LVL568 35142 5f91 0100 .2byte 0x1 35143 5f93 52 .byte 0x52 35144 5f94 24000000 .4byte .LVL568 35145 5f98 32000000 .4byte .LVL569 35146 5f9c 0300 .2byte 0x3 35147 5f9e 74 .byte 0x74 35148 5f9f C404 .sleb128 580 35149 5fa1 32000000 .4byte .LVL569 35150 5fa5 38000000 .4byte .LFE174 35151 5fa9 0A00 .2byte 0xa 35152 5fab F3 .byte 0xf3 35153 5fac 03 .uleb128 0x3 35154 5fad F5 .byte 0xf5 35155 5fae 02 .uleb128 0x2 35156 5faf 29 .uleb128 0x29 35157 5fb0 F7 .byte 0xf7 35158 5fb1 37 .uleb128 0x37 35159 5fb2 F7 .byte 0xf7 35160 5fb3 00 .uleb128 0 35161 5fb4 9F .byte 0x9f 35162 5fb5 00000000 .4byte 0 35163 5fb9 00000000 .4byte 0 35164 .LVUS378: 35165 5fbd 00 .uleb128 .LVU2658 35166 5fbe 00 .uleb128 0 35167 .LLST378: 35168 5fbf 0C000000 .4byte .LVL567 35169 5fc3 38000000 .4byte .LFE174 35170 5fc7 0100 .2byte 0x1 35171 5fc9 50 .byte 0x50 35172 5fca 00000000 .4byte 0 35173 5fce 00000000 .4byte 0 35174 .LVUS379: 35175 5fd2 01 .uleb128 .LVU2655 35176 5fd3 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1094 35177 .LLST379: 35178 5fd4 00000000 .4byte .LVL566 35179 5fd8 38000000 .4byte .LFE174 35180 5fdc 0600 .2byte 0x6 35181 5fde FA .byte 0xfa 35182 5fdf E52D0000 .4byte 0x2de5 35183 5fe3 9F .byte 0x9f 35184 5fe4 00000000 .4byte 0 35185 5fe8 00000000 .4byte 0 35186 .LLST380: 35187 5fec 00000000 .4byte .LFB176 35188 5ff0 02000000 .4byte .LCFI72 35189 5ff4 0200 .2byte 0x2 35190 5ff6 7D .byte 0x7d 35191 5ff7 00 .sleb128 0 35192 5ff8 02000000 .4byte .LCFI72 35193 5ffc 16000000 .4byte .LFE176 35194 6000 0200 .2byte 0x2 35195 6002 7D .byte 0x7d 35196 6003 08 .sleb128 8 35197 6004 00000000 .4byte 0 35198 6008 00000000 .4byte 0 35199 .LVUS381: 35200 600c 00 .uleb128 0 35201 600d 00 .uleb128 .LVU2673 35202 600e 00 .uleb128 .LVU2673 35203 600f 00 .uleb128 0 35204 .LLST381: 35205 6010 00000000 .4byte .LVL570 35206 6014 06000000 .4byte .LVL571 35207 6018 0100 .2byte 0x1 35208 601a 52 .byte 0x52 35209 601b 06000000 .4byte .LVL571 35210 601f 16000000 .4byte .LFE176 35211 6023 0A00 .2byte 0xa 35212 6025 F3 .byte 0xf3 35213 6026 03 .uleb128 0x3 35214 6027 F5 .byte 0xf5 35215 6028 02 .uleb128 0x2 35216 6029 29 .uleb128 0x29 35217 602a F7 .byte 0xf7 35218 602b 3E .uleb128 0x3e 35219 602c F7 .byte 0xf7 35220 602d 00 .uleb128 0 35221 602e 9F .byte 0x9f 35222 602f 00000000 .4byte 0 35223 6033 00000000 .4byte 0 35224 .LVUS382: 35225 6037 01 .uleb128 .LVU2670 35226 6038 00 .uleb128 .LVU2673 35227 6039 00 .uleb128 .LVU2673 35228 603a 00 .uleb128 0 35229 .LLST382: 35230 603b 00000000 .4byte .LVL570 35231 603f 06000000 .4byte .LVL571 35232 6043 0100 .2byte 0x1 35233 6045 52 .byte 0x52 ARM GAS /tmp/ccJhhmLc.s page 1095 35234 6046 06000000 .4byte .LVL571 35235 604a 16000000 .4byte .LFE176 35236 604e 0A00 .2byte 0xa 35237 6050 F3 .byte 0xf3 35238 6051 03 .uleb128 0x3 35239 6052 F5 .byte 0xf5 35240 6053 02 .uleb128 0x2 35241 6054 29 .uleb128 0x29 35242 6055 F7 .byte 0xf7 35243 6056 3E .uleb128 0x3e 35244 6057 F7 .byte 0xf7 35245 6058 00 .uleb128 0 35246 6059 9F .byte 0x9f 35247 605a 00000000 .4byte 0 35248 605e 00000000 .4byte 0 35249 .LVUS383: 35250 6062 00 .uleb128 .LVU2673 35251 6063 00 .uleb128 .LVU2674 35252 6064 00 .uleb128 .LVU2676 35253 6065 00 .uleb128 0 35254 .LLST383: 35255 6066 06000000 .4byte .LVL571 35256 606a 08000000 .4byte .LVL572 35257 606e 0100 .2byte 0x1 35258 6070 50 .byte 0x50 35259 6071 0A000000 .4byte .LVL573 35260 6075 16000000 .4byte .LFE176 35261 6079 0100 .2byte 0x1 35262 607b 50 .byte 0x50 35263 607c 00000000 .4byte 0 35264 6080 00000000 .4byte 0 35265 .LVUS384: 35266 6084 00 .uleb128 .LVU2673 35267 6085 00 .uleb128 .LVU2674 35268 6086 00 .uleb128 .LVU2676 35269 6087 00 .uleb128 0 35270 .LLST384: 35271 6088 06000000 .4byte .LVL571 35272 608c 08000000 .4byte .LVL572 35273 6090 0100 .2byte 0x1 35274 6092 51 .byte 0x51 35275 6093 0A000000 .4byte .LVL573 35276 6097 16000000 .4byte .LFE176 35277 609b 0100 .2byte 0x1 35278 609d 51 .byte 0x51 35279 609e 00000000 .4byte 0 35280 60a2 00000000 .4byte 0 35281 .LVUS385: 35282 60a6 00 .uleb128 .LVU2673 35283 60a7 00 .uleb128 .LVU2674 35284 60a8 00 .uleb128 .LVU2676 35285 60a9 00 .uleb128 0 35286 .LLST385: 35287 60aa 06000000 .4byte .LVL571 35288 60ae 08000000 .4byte .LVL572 35289 60b2 0A00 .2byte 0xa 35290 60b4 F3 .byte 0xf3 ARM GAS /tmp/ccJhhmLc.s page 1096 35291 60b5 03 .uleb128 0x3 35292 60b6 F5 .byte 0xf5 35293 60b7 02 .uleb128 0x2 35294 60b8 29 .uleb128 0x29 35295 60b9 F7 .byte 0xf7 35296 60ba 3E .uleb128 0x3e 35297 60bb F7 .byte 0xf7 35298 60bc 00 .uleb128 0 35299 60bd 9F .byte 0x9f 35300 60be 0A000000 .4byte .LVL573 35301 60c2 16000000 .4byte .LFE176 35302 60c6 0A00 .2byte 0xa 35303 60c8 F3 .byte 0xf3 35304 60c9 03 .uleb128 0x3 35305 60ca F5 .byte 0xf5 35306 60cb 02 .uleb128 0x2 35307 60cc 29 .uleb128 0x29 35308 60cd F7 .byte 0xf7 35309 60ce 3E .uleb128 0x3e 35310 60cf F7 .byte 0xf7 35311 60d0 00 .uleb128 0 35312 60d1 9F .byte 0x9f 35313 60d2 00000000 .4byte 0 35314 60d6 00000000 .4byte 0 35315 .LVUS386: 35316 60da 00 .uleb128 .LVU2673 35317 60db 00 .uleb128 .LVU2674 35318 60dc 00 .uleb128 .LVU2676 35319 60dd 00 .uleb128 .LVU2677 35320 60de 00 .uleb128 .LVU2678 35321 60df 00 .uleb128 0 35322 .LLST386: 35323 60e0 06000000 .4byte .LVL571 35324 60e4 08000000 .4byte .LVL572 35325 60e8 0100 .2byte 0x1 35326 60ea 52 .byte 0x52 35327 60eb 0A000000 .4byte .LVL573 35328 60ef 0C000000 .4byte .LVL574 35329 60f3 0100 .2byte 0x1 35330 60f5 52 .byte 0x52 35331 60f6 0E000000 .4byte .LVL575 35332 60fa 16000000 .4byte .LFE176 35333 60fe 0100 .2byte 0x1 35334 6100 52 .byte 0x52 35335 6101 00000000 .4byte 0 35336 6105 00000000 .4byte 0 35337 .LVUS387: 35338 6109 00 .uleb128 0 35339 610a 00 .uleb128 .LVU2686 35340 610b 00 .uleb128 .LVU2686 35341 610c 00 .uleb128 0 35342 .LLST387: 35343 610d 00000000 .4byte .LVL576 35344 6111 0F000000 .4byte .LVL577-1 35345 6115 0100 .2byte 0x1 35346 6117 50 .byte 0x50 35347 6118 0F000000 .4byte .LVL577-1 ARM GAS /tmp/ccJhhmLc.s page 1097 35348 611c 10000000 .4byte .LFE180 35349 6120 0A00 .2byte 0xa 35350 6122 F3 .byte 0xf3 35351 6123 03 .uleb128 0x3 35352 6124 F5 .byte 0xf5 35353 6125 00 .uleb128 0 35354 6126 29 .uleb128 0x29 35355 6127 F7 .byte 0xf7 35356 6128 30 .uleb128 0x30 35357 6129 F7 .byte 0xf7 35358 612a 00 .uleb128 0 35359 612b 9F .byte 0x9f 35360 612c 00000000 .4byte 0 35361 6130 00000000 .4byte 0 35362 .LLST388: 35363 6134 00000000 .4byte .LFB182 35364 6138 04000000 .4byte .LCFI73 35365 613c 0200 .2byte 0x2 35366 613e 7D .byte 0x7d 35367 613f 00 .sleb128 0 35368 6140 04000000 .4byte .LCFI73 35369 6144 3C000000 .4byte .LCFI74 35370 6148 0200 .2byte 0x2 35371 614a 7D .byte 0x7d 35372 614b 08 .sleb128 8 35373 614c 3C000000 .4byte .LCFI74 35374 6150 40000000 .4byte .LCFI75 35375 6154 0200 .2byte 0x2 35376 6156 7D .byte 0x7d 35377 6157 00 .sleb128 0 35378 6158 40000000 .4byte .LCFI75 35379 615c 5E000000 .4byte .LCFI76 35380 6160 0200 .2byte 0x2 35381 6162 7D .byte 0x7d 35382 6163 08 .sleb128 8 35383 6164 5E000000 .4byte .LCFI76 35384 6168 62000000 .4byte .LCFI77 35385 616c 0200 .2byte 0x2 35386 616e 7D .byte 0x7d 35387 616f 00 .sleb128 0 35388 6170 62000000 .4byte .LCFI77 35389 6174 7E000000 .4byte .LCFI78 35390 6178 0200 .2byte 0x2 35391 617a 7D .byte 0x7d 35392 617b 08 .sleb128 8 35393 617c 7E000000 .4byte .LCFI78 35394 6180 80000000 .4byte .LCFI79 35395 6184 0200 .2byte 0x2 35396 6186 7D .byte 0x7d 35397 6187 00 .sleb128 0 35398 6188 80000000 .4byte .LCFI79 35399 618c 88000000 .4byte .LFE182 35400 6190 0200 .2byte 0x2 35401 6192 7D .byte 0x7d 35402 6193 08 .sleb128 8 35403 6194 00000000 .4byte 0 35404 6198 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 1098 35405 .LVUS389: 35406 619c 00 .uleb128 0 35407 619d 00 .uleb128 .LVU2696 35408 619e 00 .uleb128 .LVU2696 35409 619f 00 .uleb128 .LVU2709 35410 61a0 00 .uleb128 .LVU2709 35411 61a1 00 .uleb128 .LVU2719 35412 61a2 00 .uleb128 .LVU2719 35413 61a3 00 .uleb128 .LVU2725 35414 61a4 00 .uleb128 .LVU2725 35415 61a5 00 .uleb128 .LVU2728 35416 61a6 00 .uleb128 .LVU2728 35417 61a7 00 .uleb128 .LVU2728 35418 61a8 00 .uleb128 .LVU2728 35419 61a9 00 .uleb128 0 35420 .LLST389: 35421 61aa 00000000 .4byte .LVL578 35422 61ae 18000000 .4byte .LVL581 35423 61b2 0100 .2byte 0x1 35424 61b4 50 .byte 0x50 35425 61b5 18000000 .4byte .LVL581 35426 61b9 3F000000 .4byte .LVL586-1 35427 61bd 0100 .2byte 0x1 35428 61bf 51 .byte 0x51 35429 61c0 3F000000 .4byte .LVL586-1 35430 61c4 62000000 .4byte .LVL589 35431 61c8 0A00 .2byte 0xa 35432 61ca F3 .byte 0xf3 35433 61cb 03 .uleb128 0x3 35434 61cc F5 .byte 0xf5 35435 61cd 00 .uleb128 0 35436 61ce 29 .uleb128 0x29 35437 61cf F7 .byte 0xf7 35438 61d0 37 .uleb128 0x37 35439 61d1 F7 .byte 0xf7 35440 61d2 00 .uleb128 0 35441 61d3 9F .byte 0x9f 35442 61d4 62000000 .4byte .LVL589 35443 61d8 7A000000 .4byte .LVL590 35444 61dc 0100 .2byte 0x1 35445 61de 50 .byte 0x50 35446 61df 7A000000 .4byte .LVL590 35447 61e3 7F000000 .4byte .LVL592-1 35448 61e7 0100 .2byte 0x1 35449 61e9 51 .byte 0x51 35450 61ea 7F000000 .4byte .LVL592-1 35451 61ee 80000000 .4byte .LVL592 35452 61f2 0A00 .2byte 0xa 35453 61f4 F3 .byte 0xf3 35454 61f5 03 .uleb128 0x3 35455 61f6 F5 .byte 0xf5 35456 61f7 00 .uleb128 0 35457 61f8 29 .uleb128 0x29 35458 61f9 F7 .byte 0xf7 35459 61fa 37 .uleb128 0x37 35460 61fb F7 .byte 0xf7 35461 61fc 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1099 35462 61fd 9F .byte 0x9f 35463 61fe 80000000 .4byte .LVL592 35464 6202 88000000 .4byte .LFE182 35465 6206 0100 .2byte 0x1 35466 6208 50 .byte 0x50 35467 6209 00000000 .4byte 0 35468 620d 00000000 .4byte 0 35469 .LVUS391: 35470 6211 00 .uleb128 .LVU2692 35471 6212 00 .uleb128 .LVU2708 35472 6213 00 .uleb128 .LVU2708 35473 6214 00 .uleb128 .LVU2709 35474 6215 00 .uleb128 .LVU2709 35475 6216 00 .uleb128 .LVU2718 35476 6217 00 .uleb128 .LVU2718 35477 6218 00 .uleb128 .LVU2719 35478 6219 00 .uleb128 .LVU2719 35479 621a 00 .uleb128 .LVU2727 35480 621b 00 .uleb128 .LVU2728 35481 621c 00 .uleb128 .LVU2730 35482 .LLST391: 35483 621d 0A000000 .4byte .LVL579 35484 6221 3C000000 .4byte .LVL585 35485 6225 0100 .2byte 0x1 35486 6227 54 .byte 0x54 35487 6228 3C000000 .4byte .LVL585 35488 622c 3F000000 .4byte .LVL586-1 35489 6230 0100 .2byte 0x1 35490 6232 50 .byte 0x50 35491 6233 40000000 .4byte .LVL586 35492 6237 5E000000 .4byte .LVL588 35493 623b 0100 .2byte 0x1 35494 623d 54 .byte 0x54 35495 623e 5E000000 .4byte .LVL588 35496 6242 61000000 .4byte .LVL589-1 35497 6246 0100 .2byte 0x1 35498 6248 50 .byte 0x50 35499 6249 62000000 .4byte .LVL589 35500 624d 7E000000 .4byte .LVL591 35501 6251 0100 .2byte 0x1 35502 6253 54 .byte 0x54 35503 6254 80000000 .4byte .LVL592 35504 6258 82000000 .4byte .LVL593 35505 625c 0100 .2byte 0x1 35506 625e 54 .byte 0x54 35507 625f 00000000 .4byte 0 35508 6263 00000000 .4byte 0 35509 .LVUS392: 35510 6267 00 .uleb128 .LVU2692 35511 6268 00 .uleb128 .LVU2696 35512 6269 00 .uleb128 .LVU2696 35513 626a 00 .uleb128 .LVU2709 35514 626b 00 .uleb128 .LVU2709 35515 626c 00 .uleb128 .LVU2719 35516 626d 00 .uleb128 .LVU2719 35517 626e 00 .uleb128 .LVU2725 35518 626f 00 .uleb128 .LVU2725 ARM GAS /tmp/ccJhhmLc.s page 1100 35519 6270 00 .uleb128 .LVU2728 35520 6271 00 .uleb128 .LVU2728 35521 6272 00 .uleb128 .LVU2728 35522 6273 00 .uleb128 .LVU2728 35523 6274 00 .uleb128 0 35524 .LLST392: 35525 6275 0A000000 .4byte .LVL579 35526 6279 18000000 .4byte .LVL581 35527 627d 0100 .2byte 0x1 35528 627f 50 .byte 0x50 35529 6280 18000000 .4byte .LVL581 35530 6284 3F000000 .4byte .LVL586-1 35531 6288 0100 .2byte 0x1 35532 628a 51 .byte 0x51 35533 628b 3F000000 .4byte .LVL586-1 35534 628f 62000000 .4byte .LVL589 35535 6293 0A00 .2byte 0xa 35536 6295 F3 .byte 0xf3 35537 6296 03 .uleb128 0x3 35538 6297 F5 .byte 0xf5 35539 6298 00 .uleb128 0 35540 6299 29 .uleb128 0x29 35541 629a F7 .byte 0xf7 35542 629b 37 .uleb128 0x37 35543 629c F7 .byte 0xf7 35544 629d 00 .uleb128 0 35545 629e 9F .byte 0x9f 35546 629f 62000000 .4byte .LVL589 35547 62a3 7A000000 .4byte .LVL590 35548 62a7 0100 .2byte 0x1 35549 62a9 50 .byte 0x50 35550 62aa 7A000000 .4byte .LVL590 35551 62ae 7F000000 .4byte .LVL592-1 35552 62b2 0100 .2byte 0x1 35553 62b4 51 .byte 0x51 35554 62b5 7F000000 .4byte .LVL592-1 35555 62b9 80000000 .4byte .LVL592 35556 62bd 0A00 .2byte 0xa 35557 62bf F3 .byte 0xf3 35558 62c0 03 .uleb128 0x3 35559 62c1 F5 .byte 0xf5 35560 62c2 00 .uleb128 0 35561 62c3 29 .uleb128 0x29 35562 62c4 F7 .byte 0xf7 35563 62c5 37 .uleb128 0x37 35564 62c6 F7 .byte 0xf7 35565 62c7 00 .uleb128 0 35566 62c8 9F .byte 0x9f 35567 62c9 80000000 .4byte .LVL592 35568 62cd 88000000 .4byte .LFE182 35569 62d1 0100 .2byte 0x1 35570 62d3 50 .byte 0x50 35571 62d4 00000000 .4byte 0 35572 62d8 00000000 .4byte 0 35573 .LVUS393: 35574 62dc 00 .uleb128 .LVU2693 35575 62dd 00 .uleb128 .LVU2708 ARM GAS /tmp/ccJhhmLc.s page 1101 35576 62de 00 .uleb128 .LVU2708 35577 62df 00 .uleb128 .LVU2709 35578 62e0 00 .uleb128 .LVU2709 35579 62e1 00 .uleb128 .LVU2718 35580 62e2 00 .uleb128 .LVU2718 35581 62e3 00 .uleb128 .LVU2719 35582 .LLST393: 35583 62e4 0C000000 .4byte .LVL580 35584 62e8 3C000000 .4byte .LVL585 35585 62ec 0400 .2byte 0x4 35586 62ee 74 .byte 0x74 35587 62ef D402 .sleb128 340 35588 62f1 9F .byte 0x9f 35589 62f2 3C000000 .4byte .LVL585 35590 62f6 3F000000 .4byte .LVL586-1 35591 62fa 0400 .2byte 0x4 35592 62fc 70 .byte 0x70 35593 62fd D402 .sleb128 340 35594 62ff 9F .byte 0x9f 35595 6300 40000000 .4byte .LVL586 35596 6304 5E000000 .4byte .LVL588 35597 6308 0400 .2byte 0x4 35598 630a 74 .byte 0x74 35599 630b D402 .sleb128 340 35600 630d 9F .byte 0x9f 35601 630e 5E000000 .4byte .LVL588 35602 6312 61000000 .4byte .LVL589-1 35603 6316 0400 .2byte 0x4 35604 6318 70 .byte 0x70 35605 6319 D402 .sleb128 340 35606 631b 9F .byte 0x9f 35607 631c 00000000 .4byte 0 35608 6320 00000000 .4byte 0 35609 .LVUS394: 35610 6324 00 .uleb128 .LVU2709 35611 6325 00 .uleb128 .LVU2728 35612 .LLST394: 35613 6326 40000000 .4byte .LVL586 35614 632a 80000000 .4byte .LVL592 35615 632e 0200 .2byte 0x2 35616 6330 30 .byte 0x30 35617 6331 9F .byte 0x9f 35618 6332 00000000 .4byte 0 35619 6336 00000000 .4byte 0 35620 .LVUS395: 35621 633a 00 .uleb128 .LVU2704 35622 633b 00 .uleb128 .LVU2708 35623 633c 00 .uleb128 .LVU2708 35624 633d 00 .uleb128 .LVU2709 35625 .LLST395: 35626 633e 32000000 .4byte .LVL582 35627 6342 3C000000 .4byte .LVL585 35628 6346 0100 .2byte 0x1 35629 6348 54 .byte 0x54 35630 6349 3C000000 .4byte .LVL585 35631 634d 3F000000 .4byte .LVL586-1 35632 6351 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 1102 35633 6353 50 .byte 0x50 35634 6354 00000000 .4byte 0 35635 6358 00000000 .4byte 0 35636 .LVUS396: 35637 635c 00 .uleb128 .LVU2704 35638 635d 00 .uleb128 .LVU2709 35639 .LLST396: 35640 635e 32000000 .4byte .LVL582 35641 6362 3F000000 .4byte .LVL586-1 35642 6366 0100 .2byte 0x1 35643 6368 52 .byte 0x52 35644 6369 00000000 .4byte 0 35645 636d 00000000 .4byte 0 35646 .LVUS397: 35647 6371 00 .uleb128 .LVU2704 35648 6372 00 .uleb128 .LVU2705 35649 6373 00 .uleb128 .LVU2705 35650 6374 00 .uleb128 .LVU2706 35651 6375 00 .uleb128 .LVU2706 35652 6376 00 .uleb128 .LVU2708 35653 6377 00 .uleb128 .LVU2708 35654 6378 00 .uleb128 .LVU2709 35655 .LLST397: 35656 6379 32000000 .4byte .LVL582 35657 637d 36000000 .4byte .LVL583 35658 6381 1600 .2byte 0x16 35659 6383 73 .byte 0x73 35660 6384 00 .sleb128 0 35661 6385 12 .byte 0x12 35662 6386 40 .byte 0x40 35663 6387 4B .byte 0x4b 35664 6388 24 .byte 0x24 35665 6389 22 .byte 0x22 35666 638a 70 .byte 0x70 35667 638b 00 .sleb128 0 35668 638c 16 .byte 0x16 35669 638d 14 .byte 0x14 35670 638e 40 .byte 0x40 35671 638f 4B .byte 0x4b 35672 6390 24 .byte 0x24 35673 6391 22 .byte 0x22 35674 6392 2B .byte 0x2b 35675 6393 28 .byte 0x28 35676 6394 0100 .2byte 0x1 35677 6396 16 .byte 0x16 35678 6397 13 .byte 0x13 35679 6398 9F .byte 0x9f 35680 6399 36000000 .4byte .LVL583 35681 639d 38000000 .4byte .LVL584 35682 63a1 1D00 .2byte 0x1d 35683 63a3 74 .byte 0x74 35684 63a4 E002 .sleb128 352 35685 63a6 94 .byte 0x94 35686 63a7 02 .byte 0x2 35687 63a8 0A .byte 0xa 35688 63a9 FFFF .2byte 0xffff 35689 63ab 1A .byte 0x1a ARM GAS /tmp/ccJhhmLc.s page 1103 35690 63ac 12 .byte 0x12 35691 63ad 40 .byte 0x40 35692 63ae 4B .byte 0x4b 35693 63af 24 .byte 0x24 35694 63b0 22 .byte 0x22 35695 63b1 70 .byte 0x70 35696 63b2 00 .sleb128 0 35697 63b3 16 .byte 0x16 35698 63b4 14 .byte 0x14 35699 63b5 40 .byte 0x40 35700 63b6 4B .byte 0x4b 35701 63b7 24 .byte 0x24 35702 63b8 22 .byte 0x22 35703 63b9 2B .byte 0x2b 35704 63ba 28 .byte 0x28 35705 63bb 0100 .2byte 0x1 35706 63bd 16 .byte 0x16 35707 63be 13 .byte 0x13 35708 63bf 9F .byte 0x9f 35709 63c0 38000000 .4byte .LVL584 35710 63c4 3C000000 .4byte .LVL585 35711 63c8 1F00 .2byte 0x1f 35712 63ca 74 .byte 0x74 35713 63cb E002 .sleb128 352 35714 63cd 94 .byte 0x94 35715 63ce 02 .byte 0x2 35716 63cf 0A .byte 0xa 35717 63d0 FFFF .2byte 0xffff 35718 63d2 1A .byte 0x1a 35719 63d3 12 .byte 0x12 35720 63d4 40 .byte 0x40 35721 63d5 4B .byte 0x4b 35722 63d6 24 .byte 0x24 35723 63d7 22 .byte 0x22 35724 63d8 74 .byte 0x74 35725 63d9 D802 .sleb128 344 35726 63db 06 .byte 0x6 35727 63dc 16 .byte 0x16 35728 63dd 14 .byte 0x14 35729 63de 40 .byte 0x40 35730 63df 4B .byte 0x4b 35731 63e0 24 .byte 0x24 35732 63e1 22 .byte 0x22 35733 63e2 2B .byte 0x2b 35734 63e3 28 .byte 0x28 35735 63e4 0100 .2byte 0x1 35736 63e6 16 .byte 0x16 35737 63e7 13 .byte 0x13 35738 63e8 9F .byte 0x9f 35739 63e9 3C000000 .4byte .LVL585 35740 63ed 3F000000 .4byte .LVL586-1 35741 63f1 1F00 .2byte 0x1f 35742 63f3 70 .byte 0x70 35743 63f4 E002 .sleb128 352 35744 63f6 94 .byte 0x94 35745 63f7 02 .byte 0x2 35746 63f8 0A .byte 0xa ARM GAS /tmp/ccJhhmLc.s page 1104 35747 63f9 FFFF .2byte 0xffff 35748 63fb 1A .byte 0x1a 35749 63fc 12 .byte 0x12 35750 63fd 40 .byte 0x40 35751 63fe 4B .byte 0x4b 35752 63ff 24 .byte 0x24 35753 6400 22 .byte 0x22 35754 6401 70 .byte 0x70 35755 6402 D802 .sleb128 344 35756 6404 06 .byte 0x6 35757 6405 16 .byte 0x16 35758 6406 14 .byte 0x14 35759 6407 40 .byte 0x40 35760 6408 4B .byte 0x4b 35761 6409 24 .byte 0x24 35762 640a 22 .byte 0x22 35763 640b 2B .byte 0x2b 35764 640c 28 .byte 0x28 35765 640d 0100 .2byte 0x1 35766 640f 16 .byte 0x16 35767 6410 13 .byte 0x13 35768 6411 9F .byte 0x9f 35769 6412 00000000 .4byte 0 35770 6416 00000000 .4byte 0 35771 .LLST398: 35772 641a 00000000 .4byte .LFB188 35773 641e 02000000 .4byte .LCFI80 35774 6422 0200 .2byte 0x2 35775 6424 7D .byte 0x7d 35776 6425 00 .sleb128 0 35777 6426 02000000 .4byte .LCFI80 35778 642a 12000000 .4byte .LCFI81 35779 642e 0200 .2byte 0x2 35780 6430 7D .byte 0x7d 35781 6431 04 .sleb128 4 35782 6432 12000000 .4byte .LCFI81 35783 6436 1C000000 .4byte .LFE188 35784 643a 0200 .2byte 0x2 35785 643c 7D .byte 0x7d 35786 643d 00 .sleb128 0 35787 643e 00000000 .4byte 0 35788 6442 00000000 .4byte 0 35789 .LVUS399: 35790 6446 00 .uleb128 0 35791 6447 00 .uleb128 .LVU2743 35792 6448 00 .uleb128 .LVU2743 35793 6449 00 .uleb128 0 35794 .LLST399: 35795 644a 00000000 .4byte .LVL594 35796 644e 1B000000 .4byte .LVL597-1 35797 6452 0100 .2byte 0x1 35798 6454 50 .byte 0x50 35799 6455 1B000000 .4byte .LVL597-1 35800 6459 1C000000 .4byte .LFE188 35801 645d 0A00 .2byte 0xa 35802 645f F3 .byte 0xf3 35803 6460 03 .uleb128 0x3 ARM GAS /tmp/ccJhhmLc.s page 1105 35804 6461 F5 .byte 0xf5 35805 6462 00 .uleb128 0 35806 6463 29 .uleb128 0x29 35807 6464 F7 .byte 0xf7 35808 6465 30 .uleb128 0x30 35809 6466 F7 .byte 0xf7 35810 6467 00 .uleb128 0 35811 6468 9F .byte 0x9f 35812 6469 00000000 .4byte 0 35813 646d 00000000 .4byte 0 35814 .LVUS400: 35815 6471 00 .uleb128 0 35816 6472 00 .uleb128 .LVU2742 35817 6473 00 .uleb128 .LVU2742 35818 6474 00 .uleb128 .LVU2743 35819 6475 00 .uleb128 .LVU2743 35820 6476 00 .uleb128 0 35821 .LLST400: 35822 6477 00000000 .4byte .LVL594 35823 647b 18000000 .4byte .LVL596 35824 647f 0100 .2byte 0x1 35825 6481 51 .byte 0x51 35826 6482 18000000 .4byte .LVL596 35827 6486 1B000000 .4byte .LVL597-1 35828 648a 0100 .2byte 0x1 35829 648c 52 .byte 0x52 35830 648d 1B000000 .4byte .LVL597-1 35831 6491 1C000000 .4byte .LFE188 35832 6495 0A00 .2byte 0xa 35833 6497 F3 .byte 0xf3 35834 6498 03 .uleb128 0x3 35835 6499 F5 .byte 0xf5 35836 649a 01 .uleb128 0x1 35837 649b 29 .uleb128 0x29 35838 649c F7 .byte 0xf7 35839 649d 30 .uleb128 0x30 35840 649e F7 .byte 0xf7 35841 649f 00 .uleb128 0 35842 64a0 9F .byte 0x9f 35843 64a1 00000000 .4byte 0 35844 64a5 00000000 .4byte 0 35845 .LVUS401: 35846 64a9 00 .uleb128 0 35847 64aa 00 .uleb128 .LVU2735 35848 64ab 00 .uleb128 .LVU2735 35849 64ac 00 .uleb128 .LVU2743 35850 64ad 00 .uleb128 .LVU2743 35851 64ae 00 .uleb128 0 35852 .LLST401: 35853 64af 00000000 .4byte .LVL594 35854 64b3 06000000 .4byte .LVL595 35855 64b7 0100 .2byte 0x1 35856 64b9 52 .byte 0x52 35857 64ba 06000000 .4byte .LVL595 35858 64be 1B000000 .4byte .LVL597-1 35859 64c2 0100 .2byte 0x1 35860 64c4 53 .byte 0x53 ARM GAS /tmp/ccJhhmLc.s page 1106 35861 64c5 1B000000 .4byte .LVL597-1 35862 64c9 1C000000 .4byte .LFE188 35863 64cd 0A00 .2byte 0xa 35864 64cf F3 .byte 0xf3 35865 64d0 03 .uleb128 0x3 35866 64d1 F5 .byte 0xf5 35867 64d2 02 .uleb128 0x2 35868 64d3 29 .uleb128 0x29 35869 64d4 F7 .byte 0xf7 35870 64d5 30 .uleb128 0x30 35871 64d6 F7 .byte 0xf7 35872 64d7 00 .uleb128 0 35873 64d8 9F .byte 0x9f 35874 64d9 00000000 .4byte 0 35875 64dd 00000000 .4byte 0 35876 .LVUS402: 35877 64e1 00 .uleb128 0 35878 64e2 00 .uleb128 .LVU2747 35879 64e3 00 .uleb128 .LVU2747 35880 64e4 00 .uleb128 0 35881 .LLST402: 35882 64e5 00000000 .4byte .LVL598 35883 64e9 07000000 .4byte .LVL599-1 35884 64ed 0100 .2byte 0x1 35885 64ef 50 .byte 0x50 35886 64f0 07000000 .4byte .LVL599-1 35887 64f4 08000000 .4byte .LFE190 35888 64f8 0A00 .2byte 0xa 35889 64fa F3 .byte 0xf3 35890 64fb 03 .uleb128 0x3 35891 64fc F5 .byte 0xf5 35892 64fd 00 .uleb128 0 35893 64fe 29 .uleb128 0x29 35894 64ff F7 .byte 0xf7 35895 6500 30 .uleb128 0x30 35896 6501 F7 .byte 0xf7 35897 6502 00 .uleb128 0 35898 6503 9F .byte 0x9f 35899 6504 00000000 .4byte 0 35900 6508 00000000 .4byte 0 35901 .LVUS403: 35902 650c 00 .uleb128 0 35903 650d 00 .uleb128 .LVU2747 35904 650e 00 .uleb128 .LVU2747 35905 650f 00 .uleb128 0 35906 .LLST403: 35907 6510 00000000 .4byte .LVL598 35908 6514 07000000 .4byte .LVL599-1 35909 6518 0100 .2byte 0x1 35910 651a 51 .byte 0x51 35911 651b 07000000 .4byte .LVL599-1 35912 651f 08000000 .4byte .LFE190 35913 6523 0A00 .2byte 0xa 35914 6525 F3 .byte 0xf3 35915 6526 03 .uleb128 0x3 35916 6527 F5 .byte 0xf5 35917 6528 01 .uleb128 0x1 ARM GAS /tmp/ccJhhmLc.s page 1107 35918 6529 29 .uleb128 0x29 35919 652a F7 .byte 0xf7 35920 652b 37 .uleb128 0x37 35921 652c F7 .byte 0xf7 35922 652d 00 .uleb128 0 35923 652e 9F .byte 0x9f 35924 652f 00000000 .4byte 0 35925 6533 00000000 .4byte 0 35926 .LLST404: 35927 6537 00000000 .4byte .LFB192 35928 653b 02000000 .4byte .LCFI82 35929 653f 0200 .2byte 0x2 35930 6541 7D .byte 0x7d 35931 6542 00 .sleb128 0 35932 6543 02000000 .4byte .LCFI82 35933 6547 4C000000 .4byte .LFE192 35934 654b 0200 .2byte 0x2 35935 654d 7D .byte 0x7d 35936 654e 0C .sleb128 12 35937 654f 00000000 .4byte 0 35938 6553 00000000 .4byte 0 35939 .LVUS405: 35940 6557 01 .uleb128 .LVU2749 35941 6558 00 .uleb128 0 35942 .LLST405: 35943 6559 00000000 .4byte .LVL600 35944 655d 4C000000 .4byte .LFE192 35945 6561 0100 .2byte 0x1 35946 6563 50 .byte 0x50 35947 6564 00000000 .4byte 0 35948 6568 00000000 .4byte 0 35949 .LVUS406: 35950 656c 00 .uleb128 .LVU2751 35951 656d 00 .uleb128 .LVU2768 35952 .LLST406: 35953 656e 04000000 .4byte .LVL601 35954 6572 46000000 .4byte .LVL602 35955 6576 0100 .2byte 0x1 35956 6578 55 .byte 0x55 35957 6579 00000000 .4byte 0 35958 657d 00000000 .4byte 0 35959 .LLST407: 35960 6581 00000000 .4byte .LFB194 35961 6585 02000000 .4byte .LCFI83 35962 6589 0200 .2byte 0x2 35963 658b 7D .byte 0x7d 35964 658c 00 .sleb128 0 35965 658d 02000000 .4byte .LCFI83 35966 6591 8E000000 .4byte .LFE194 35967 6595 0200 .2byte 0x2 35968 6597 7D .byte 0x7d 35969 6598 10 .sleb128 16 35970 6599 00000000 .4byte 0 35971 659d 00000000 .4byte 0 35972 .LVUS408: 35973 65a1 00 .uleb128 0 35974 65a2 00 .uleb128 .LVU2786 ARM GAS /tmp/ccJhhmLc.s page 1108 35975 65a3 00 .uleb128 .LVU2786 35976 65a4 00 .uleb128 .LVU2803 35977 65a5 00 .uleb128 .LVU2803 35978 65a6 00 .uleb128 0 35979 .LLST408: 35980 65a7 00000000 .4byte .LVL603 35981 65ab 42000000 .4byte .LVL608 35982 65af 0100 .2byte 0x1 35983 65b1 50 .byte 0x50 35984 65b2 42000000 .4byte .LVL608 35985 65b6 7C000000 .4byte .LVL613 35986 65ba 0A00 .2byte 0xa 35987 65bc F3 .byte 0xf3 35988 65bd 03 .uleb128 0x3 35989 65be F5 .byte 0xf5 35990 65bf 00 .uleb128 0 35991 65c0 29 .uleb128 0x29 35992 65c1 F7 .byte 0xf7 35993 65c2 30 .uleb128 0x30 35994 65c3 F7 .byte 0xf7 35995 65c4 00 .uleb128 0 35996 65c5 9F .byte 0x9f 35997 65c6 7C000000 .4byte .LVL613 35998 65ca 8E000000 .4byte .LFE194 35999 65ce 0100 .2byte 0x1 36000 65d0 50 .byte 0x50 36001 65d1 00000000 .4byte 0 36002 65d5 00000000 .4byte 0 36003 .LVUS409: 36004 65d9 00 .uleb128 0 36005 65da 00 .uleb128 .LVU2776 36006 65db 00 .uleb128 .LVU2776 36007 65dc 00 .uleb128 .LVU2803 36008 65dd 00 .uleb128 .LVU2803 36009 65de 00 .uleb128 .LVU2804 36010 65df 00 .uleb128 .LVU2804 36011 65e0 00 .uleb128 0 36012 .LLST409: 36013 65e1 00000000 .4byte .LVL603 36014 65e5 24000000 .4byte .LVL605 36015 65e9 0100 .2byte 0x1 36016 65eb 51 .byte 0x51 36017 65ec 24000000 .4byte .LVL605 36018 65f0 7C000000 .4byte .LVL613 36019 65f4 0A00 .2byte 0xa 36020 65f6 F3 .byte 0xf3 36021 65f7 03 .uleb128 0x3 36022 65f8 F5 .byte 0xf5 36023 65f9 01 .uleb128 0x1 36024 65fa 29 .uleb128 0x29 36025 65fb F7 .byte 0xf7 36026 65fc 37 .uleb128 0x37 36027 65fd F7 .byte 0xf7 36028 65fe 00 .uleb128 0 36029 65ff 9F .byte 0x9f 36030 6600 7C000000 .4byte .LVL613 36031 6604 7E000000 .4byte .LVL614 ARM GAS /tmp/ccJhhmLc.s page 1109 36032 6608 0100 .2byte 0x1 36033 660a 51 .byte 0x51 36034 660b 7E000000 .4byte .LVL614 36035 660f 8E000000 .4byte .LFE194 36036 6613 0A00 .2byte 0xa 36037 6615 F3 .byte 0xf3 36038 6616 03 .uleb128 0x3 36039 6617 F5 .byte 0xf5 36040 6618 01 .uleb128 0x1 36041 6619 29 .uleb128 0x29 36042 661a F7 .byte 0xf7 36043 661b 37 .uleb128 0x37 36044 661c F7 .byte 0xf7 36045 661d 00 .uleb128 0 36046 661e 9F .byte 0x9f 36047 661f 00000000 .4byte 0 36048 6623 00000000 .4byte 0 36049 .LVUS410: 36050 6627 01 .uleb128 .LVU2770 36051 6628 00 .uleb128 .LVU2801 36052 6629 00 .uleb128 .LVU2803 36053 662a 00 .uleb128 0 36054 .LLST410: 36055 662b 00000000 .4byte .LVL603 36056 662f 7A000000 .4byte .LVL612 36057 6633 0200 .2byte 0x2 36058 6635 30 .byte 0x30 36059 6636 9F .byte 0x9f 36060 6637 7C000000 .4byte .LVL613 36061 663b 8E000000 .4byte .LFE194 36062 663f 0200 .2byte 0x2 36063 6641 30 .byte 0x30 36064 6642 9F .byte 0x9f 36065 6643 00000000 .4byte 0 36066 6647 00000000 .4byte 0 36067 .LVUS412: 36068 664b 00 .uleb128 .LVU2772 36069 664c 00 .uleb128 .LVU2801 36070 664d 00 .uleb128 .LVU2803 36071 664e 00 .uleb128 0 36072 .LLST412: 36073 664f 06000000 .4byte .LVL604 36074 6653 7A000000 .4byte .LVL612 36075 6657 0100 .2byte 0x1 36076 6659 54 .byte 0x54 36077 665a 7C000000 .4byte .LVL613 36078 665e 8E000000 .4byte .LFE194 36079 6662 0100 .2byte 0x1 36080 6664 54 .byte 0x54 36081 6665 00000000 .4byte 0 36082 6669 00000000 .4byte 0 36083 .LVUS413: 36084 666d 00 .uleb128 .LVU2772 36085 666e 00 .uleb128 .LVU2776 36086 666f 00 .uleb128 .LVU2776 36087 6670 00 .uleb128 .LVU2801 36088 6671 00 .uleb128 .LVU2803 ARM GAS /tmp/ccJhhmLc.s page 1110 36089 6672 00 .uleb128 .LVU2804 36090 6673 00 .uleb128 .LVU2804 36091 6674 00 .uleb128 0 36092 .LLST413: 36093 6675 06000000 .4byte .LVL604 36094 6679 24000000 .4byte .LVL605 36095 667d 0100 .2byte 0x1 36096 667f 51 .byte 0x51 36097 6680 24000000 .4byte .LVL605 36098 6684 7A000000 .4byte .LVL612 36099 6688 0A00 .2byte 0xa 36100 668a F3 .byte 0xf3 36101 668b 03 .uleb128 0x3 36102 668c F5 .byte 0xf5 36103 668d 01 .uleb128 0x1 36104 668e 29 .uleb128 0x29 36105 668f F7 .byte 0xf7 36106 6690 37 .uleb128 0x37 36107 6691 F7 .byte 0xf7 36108 6692 00 .uleb128 0 36109 6693 9F .byte 0x9f 36110 6694 7C000000 .4byte .LVL613 36111 6698 7E000000 .4byte .LVL614 36112 669c 0100 .2byte 0x1 36113 669e 51 .byte 0x51 36114 669f 7E000000 .4byte .LVL614 36115 66a3 8E000000 .4byte .LFE194 36116 66a7 0A00 .2byte 0xa 36117 66a9 F3 .byte 0xf3 36118 66aa 03 .uleb128 0x3 36119 66ab F5 .byte 0xf5 36120 66ac 01 .uleb128 0x1 36121 66ad 29 .uleb128 0x29 36122 66ae F7 .byte 0xf7 36123 66af 37 .uleb128 0x37 36124 66b0 F7 .byte 0xf7 36125 66b1 00 .uleb128 0 36126 66b2 9F .byte 0x9f 36127 66b3 00000000 .4byte 0 36128 66b7 00000000 .4byte 0 36129 .LVUS414: 36130 66bb 00 .uleb128 .LVU2777 36131 66bc 00 .uleb128 .LVU2784 36132 66bd 00 .uleb128 .LVU2807 36133 66be 00 .uleb128 0 36134 .LLST414: 36135 66bf 26000000 .4byte .LVL606 36136 66c3 40000000 .4byte .LVL607 36137 66c7 0100 .2byte 0x1 36138 66c9 52 .byte 0x52 36139 66ca 88000000 .4byte .LVL615 36140 66ce 8E000000 .4byte .LFE194 36141 66d2 0100 .2byte 0x1 36142 66d4 52 .byte 0x52 36143 66d5 00000000 .4byte 0 36144 66d9 00000000 .4byte 0 36145 .LVUS415: ARM GAS /tmp/ccJhhmLc.s page 1111 36146 66dd 00 .uleb128 .LVU2786 36147 66de 00 .uleb128 .LVU2797 36148 .LLST415: 36149 66df 42000000 .4byte .LVL608 36150 66e3 68000000 .4byte .LVL610 36151 66e7 0100 .2byte 0x1 36152 66e9 50 .byte 0x50 36153 66ea 00000000 .4byte 0 36154 66ee 00000000 .4byte 0 36155 .LVUS417: 36156 66f2 00 .uleb128 .LVU2786 36157 66f3 00 .uleb128 .LVU2794 36158 .LLST417: 36159 66f4 42000000 .4byte .LVL608 36160 66f8 5A000000 .4byte .LVL609 36161 66fc 0100 .2byte 0x1 36162 66fe 51 .byte 0x51 36163 66ff 00000000 .4byte 0 36164 6703 00000000 .4byte 0 36165 .LLST418: 36166 6707 00000000 .4byte .LFB199 36167 670b 02000000 .4byte .LCFI84 36168 670f 0200 .2byte 0x2 36169 6711 7D .byte 0x7d 36170 6712 00 .sleb128 0 36171 6713 02000000 .4byte .LCFI84 36172 6717 12000000 .4byte .LCFI85 36173 671b 0200 .2byte 0x2 36174 671d 7D .byte 0x7d 36175 671e 08 .sleb128 8 36176 671f 12000000 .4byte .LCFI85 36177 6723 16000000 .4byte .LFE199 36178 6727 0200 .2byte 0x2 36179 6729 7D .byte 0x7d 36180 672a 00 .sleb128 0 36181 672b 00000000 .4byte 0 36182 672f 00000000 .4byte 0 36183 .LVUS419: 36184 6733 00 .uleb128 0 36185 6734 00 .uleb128 .LVU2813 36186 6735 00 .uleb128 .LVU2813 36187 6736 00 .uleb128 .LVU2815 36188 6737 00 .uleb128 .LVU2815 36189 6738 00 .uleb128 .LVU2816 36190 6739 00 .uleb128 .LVU2816 36191 673a 00 .uleb128 0 36192 .LLST419: 36193 673b 00000000 .4byte .LVL616 36194 673f 09000000 .4byte .LVL617-1 36195 6743 0100 .2byte 0x1 36196 6745 50 .byte 0x50 36197 6746 09000000 .4byte .LVL617-1 36198 674a 12000000 .4byte .LVL618 36199 674e 0100 .2byte 0x1 36200 6750 54 .byte 0x54 36201 6751 12000000 .4byte .LVL618 36202 6755 15000000 .4byte .LVL619-1 ARM GAS /tmp/ccJhhmLc.s page 1112 36203 6759 0100 .2byte 0x1 36204 675b 50 .byte 0x50 36205 675c 15000000 .4byte .LVL619-1 36206 6760 16000000 .4byte .LFE199 36207 6764 0A00 .2byte 0xa 36208 6766 F3 .byte 0xf3 36209 6767 03 .uleb128 0x3 36210 6768 F5 .byte 0xf5 36211 6769 00 .uleb128 0 36212 676a 29 .uleb128 0x29 36213 676b F7 .byte 0xf7 36214 676c 30 .uleb128 0x30 36215 676d F7 .byte 0xf7 36216 676e 00 .uleb128 0 36217 676f 9F .byte 0x9f 36218 6770 00000000 .4byte 0 36219 6774 00000000 .4byte 0 36220 .LVUS420: 36221 6778 01 .uleb128 .LVU2809 36222 6779 00 .uleb128 0 36223 .LLST420: 36224 677a 00000000 .4byte .LVL616 36225 677e 16000000 .4byte .LFE199 36226 6782 0600 .2byte 0x6 36227 6784 FA .byte 0xfa 36228 6785 24320000 .4byte 0x3224 36229 6789 9F .byte 0x9f 36230 678a 00000000 .4byte 0 36231 678e 00000000 .4byte 0 36232 .LLST421: 36233 6792 00000000 .4byte .LFB201 36234 6796 02000000 .4byte .LCFI86 36235 679a 0200 .2byte 0x2 36236 679c 7D .byte 0x7d 36237 679d 00 .sleb128 0 36238 679e 02000000 .4byte .LCFI86 36239 67a2 14000000 .4byte .LCFI87 36240 67a6 0200 .2byte 0x2 36241 67a8 7D .byte 0x7d 36242 67a9 08 .sleb128 8 36243 67aa 14000000 .4byte .LCFI87 36244 67ae 18000000 .4byte .LCFI88 36245 67b2 0200 .2byte 0x2 36246 67b4 7D .byte 0x7d 36247 67b5 00 .sleb128 0 36248 67b6 18000000 .4byte .LCFI88 36249 67ba 2E000000 .4byte .LCFI89 36250 67be 0200 .2byte 0x2 36251 67c0 7D .byte 0x7d 36252 67c1 08 .sleb128 8 36253 67c2 2E000000 .4byte .LCFI89 36254 67c6 32000000 .4byte .LCFI90 36255 67ca 0200 .2byte 0x2 36256 67cc 7D .byte 0x7d 36257 67cd 00 .sleb128 0 36258 67ce 32000000 .4byte .LCFI90 36259 67d2 C8000000 .4byte .LFE201 ARM GAS /tmp/ccJhhmLc.s page 1113 36260 67d6 0200 .2byte 0x2 36261 67d8 7D .byte 0x7d 36262 67d9 08 .sleb128 8 36263 67da 00000000 .4byte 0 36264 67de 00000000 .4byte 0 36265 .LVUS422: 36266 67e2 00 .uleb128 0 36267 67e3 00 .uleb128 .LVU2821 36268 67e4 00 .uleb128 .LVU2821 36269 67e5 00 .uleb128 .LVU2825 36270 67e6 00 .uleb128 .LVU2825 36271 67e7 00 .uleb128 .LVU2827 36272 67e8 00 .uleb128 .LVU2827 36273 67e9 00 .uleb128 .LVU2831 36274 67ea 00 .uleb128 .LVU2831 36275 67eb 00 .uleb128 .LVU2833 36276 67ec 00 .uleb128 .LVU2833 36277 67ed 00 .uleb128 .LVU2835 36278 67ee 00 .uleb128 .LVU2835 36279 67ef 00 .uleb128 .LVU2837 36280 67f0 00 .uleb128 .LVU2837 36281 67f1 00 .uleb128 .LVU2839 36282 67f2 00 .uleb128 .LVU2839 36283 67f3 00 .uleb128 .LVU2841 36284 67f4 00 .uleb128 .LVU2841 36285 67f5 00 .uleb128 .LVU2843 36286 67f6 00 .uleb128 .LVU2843 36287 67f7 00 .uleb128 .LVU2845 36288 67f8 00 .uleb128 .LVU2845 36289 67f9 00 .uleb128 .LVU2847 36290 67fa 00 .uleb128 .LVU2847 36291 67fb 00 .uleb128 .LVU2849 36292 67fc 00 .uleb128 .LVU2849 36293 67fd 00 .uleb128 .LVU2851 36294 67fe 00 .uleb128 .LVU2851 36295 67ff 00 .uleb128 .LVU2853 36296 6800 00 .uleb128 .LVU2853 36297 6801 00 .uleb128 .LVU2855 36298 6802 00 .uleb128 .LVU2855 36299 6803 00 .uleb128 0 36300 .LLST422: 36301 6804 00000000 .4byte .LVL620 36302 6808 0A000000 .4byte .LVL621 36303 680c 0100 .2byte 0x1 36304 680e 50 .byte 0x50 36305 680f 0A000000 .4byte .LVL621 36306 6813 18000000 .4byte .LVL623 36307 6817 0A00 .2byte 0xa 36308 6819 F3 .byte 0xf3 36309 681a 03 .uleb128 0x3 36310 681b F5 .byte 0xf5 36311 681c 00 .uleb128 0 36312 681d 29 .uleb128 0x29 36313 681e F7 .byte 0xf7 36314 681f 30 .uleb128 0x30 36315 6820 F7 .byte 0xf7 36316 6821 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1114 36317 6822 9F .byte 0x9f 36318 6823 18000000 .4byte .LVL623 36319 6827 22000000 .4byte .LVL624 36320 682b 0100 .2byte 0x1 36321 682d 50 .byte 0x50 36322 682e 22000000 .4byte .LVL624 36323 6832 32000000 .4byte .LVL626 36324 6836 0A00 .2byte 0xa 36325 6838 F3 .byte 0xf3 36326 6839 03 .uleb128 0x3 36327 683a F5 .byte 0xf5 36328 683b 00 .uleb128 0 36329 683c 29 .uleb128 0x29 36330 683d F7 .byte 0xf7 36331 683e 30 .uleb128 0x30 36332 683f F7 .byte 0xf7 36333 6840 00 .uleb128 0 36334 6841 9F .byte 0x9f 36335 6842 32000000 .4byte .LVL626 36336 6846 3C000000 .4byte .LVL627 36337 684a 0100 .2byte 0x1 36338 684c 50 .byte 0x50 36339 684d 3C000000 .4byte .LVL627 36340 6851 46000000 .4byte .LVL629 36341 6855 0A00 .2byte 0xa 36342 6857 F3 .byte 0xf3 36343 6858 03 .uleb128 0x3 36344 6859 F5 .byte 0xf5 36345 685a 00 .uleb128 0 36346 685b 29 .uleb128 0x29 36347 685c F7 .byte 0xf7 36348 685d 30 .uleb128 0x30 36349 685e F7 .byte 0xf7 36350 685f 00 .uleb128 0 36351 6860 9F .byte 0x9f 36352 6861 46000000 .4byte .LVL629 36353 6865 4E000000 .4byte .LVL630 36354 6869 0100 .2byte 0x1 36355 686b 50 .byte 0x50 36356 686c 4E000000 .4byte .LVL630 36357 6870 56000000 .4byte .LVL632 36358 6874 0A00 .2byte 0xa 36359 6876 F3 .byte 0xf3 36360 6877 03 .uleb128 0x3 36361 6878 F5 .byte 0xf5 36362 6879 00 .uleb128 0 36363 687a 29 .uleb128 0x29 36364 687b F7 .byte 0xf7 36365 687c 30 .uleb128 0x30 36366 687d F7 .byte 0xf7 36367 687e 00 .uleb128 0 36368 687f 9F .byte 0x9f 36369 6880 56000000 .4byte .LVL632 36370 6884 60000000 .4byte .LVL633 36371 6888 0100 .2byte 0x1 36372 688a 50 .byte 0x50 36373 688b 60000000 .4byte .LVL633 ARM GAS /tmp/ccJhhmLc.s page 1115 36374 688f 6A000000 .4byte .LVL635 36375 6893 0A00 .2byte 0xa 36376 6895 F3 .byte 0xf3 36377 6896 03 .uleb128 0x3 36378 6897 F5 .byte 0xf5 36379 6898 00 .uleb128 0 36380 6899 29 .uleb128 0x29 36381 689a F7 .byte 0xf7 36382 689b 30 .uleb128 0x30 36383 689c F7 .byte 0xf7 36384 689d 00 .uleb128 0 36385 689e 9F .byte 0x9f 36386 689f 6A000000 .4byte .LVL635 36387 68a3 74000000 .4byte .LVL636 36388 68a7 0100 .2byte 0x1 36389 68a9 50 .byte 0x50 36390 68aa 74000000 .4byte .LVL636 36391 68ae 7E000000 .4byte .LVL638 36392 68b2 0A00 .2byte 0xa 36393 68b4 F3 .byte 0xf3 36394 68b5 03 .uleb128 0x3 36395 68b6 F5 .byte 0xf5 36396 68b7 00 .uleb128 0 36397 68b8 29 .uleb128 0x29 36398 68b9 F7 .byte 0xf7 36399 68ba 30 .uleb128 0x30 36400 68bb F7 .byte 0xf7 36401 68bc 00 .uleb128 0 36402 68bd 9F .byte 0x9f 36403 68be 7E000000 .4byte .LVL638 36404 68c2 88000000 .4byte .LVL639 36405 68c6 0100 .2byte 0x1 36406 68c8 50 .byte 0x50 36407 68c9 88000000 .4byte .LVL639 36408 68cd 92000000 .4byte .LVL641 36409 68d1 0A00 .2byte 0xa 36410 68d3 F3 .byte 0xf3 36411 68d4 03 .uleb128 0x3 36412 68d5 F5 .byte 0xf5 36413 68d6 00 .uleb128 0 36414 68d7 29 .uleb128 0x29 36415 68d8 F7 .byte 0xf7 36416 68d9 30 .uleb128 0x30 36417 68da F7 .byte 0xf7 36418 68db 00 .uleb128 0 36419 68dc 9F .byte 0x9f 36420 68dd 92000000 .4byte .LVL641 36421 68e1 9C000000 .4byte .LVL642 36422 68e5 0100 .2byte 0x1 36423 68e7 50 .byte 0x50 36424 68e8 9C000000 .4byte .LVL642 36425 68ec A6000000 .4byte .LVL644 36426 68f0 0A00 .2byte 0xa 36427 68f2 F3 .byte 0xf3 36428 68f3 03 .uleb128 0x3 36429 68f4 F5 .byte 0xf5 36430 68f5 00 .uleb128 0 ARM GAS /tmp/ccJhhmLc.s page 1116 36431 68f6 29 .uleb128 0x29 36432 68f7 F7 .byte 0xf7 36433 68f8 30 .uleb128 0x30 36434 68f9 F7 .byte 0xf7 36435 68fa 00 .uleb128 0 36436 68fb 9F .byte 0x9f 36437 68fc A6000000 .4byte .LVL644 36438 6900 C8000000 .4byte .LFE201 36439 6904 0100 .2byte 0x1 36440 6906 50 .byte 0x50 36441 6907 00000000 .4byte 0 36442 690b 00000000 .4byte 0 36443 .LLST423: 36444 690f 00000000 .4byte .LFB202 36445 6913 06000000 .4byte .LCFI91 36446 6917 0200 .2byte 0x2 36447 6919 7D .byte 0x7d 36448 691a 00 .sleb128 0 36449 691b 06000000 .4byte .LCFI91 36450 691f B0020000 .4byte .LFE202 36451 6923 0200 .2byte 0x2 36452 6925 7D .byte 0x7d 36453 6926 18 .sleb128 24 36454 6927 00000000 .4byte 0 36455 692b 00000000 .4byte 0 36456 .LVUS424: 36457 692f 00 .uleb128 0 36458 6930 00 .uleb128 .LVU2863 36459 6931 00 .uleb128 .LVU2863 36460 6932 00 .uleb128 .LVU2866 36461 6933 00 .uleb128 .LVU2866 36462 6934 00 .uleb128 .LVU2872 36463 6935 00 .uleb128 .LVU2872 36464 6936 00 .uleb128 .LVU3003 36465 6937 00 .uleb128 .LVU3003 36466 6938 00 .uleb128 0 36467 .LLST424: 36468 6939 00000000 .4byte .LVL645 36469 693d 0C000000 .4byte .LVL646 36470 6941 0100 .2byte 0x1 36471 6943 50 .byte 0x50 36472 6944 0C000000 .4byte .LVL646 36473 6948 14000000 .4byte .LVL647 36474 694c 0A00 .2byte 0xa 36475 694e F3 .byte 0xf3 36476 694f 03 .uleb128 0x3 36477 6950 F5 .byte 0xf5 36478 6951 00 .uleb128 0 36479 6952 29 .uleb128 0x29 36480 6953 F7 .byte 0xf7 36481 6954 37 .uleb128 0x37 36482 6955 F7 .byte 0xf7 36483 6956 00 .uleb128 0 36484 6957 9F .byte 0x9f 36485 6958 14000000 .4byte .LVL647 36486 695c 1E000000 .4byte .LVL649 36487 6960 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 1117 36488 6962 50 .byte 0x50 36489 6963 1E000000 .4byte .LVL649 36490 6967 90010000 .4byte .LVL672 36491 696b 0100 .2byte 0x1 36492 696d 54 .byte 0x54 36493 696e 90010000 .4byte .LVL672 36494 6972 B0020000 .4byte .LFE202 36495 6976 0A00 .2byte 0xa 36496 6978 F3 .byte 0xf3 36497 6979 03 .uleb128 0x3 36498 697a F5 .byte 0xf5 36499 697b 00 .uleb128 0 36500 697c 29 .uleb128 0x29 36501 697d F7 .byte 0xf7 36502 697e 37 .uleb128 0x37 36503 697f F7 .byte 0xf7 36504 6980 00 .uleb128 0 36505 6981 9F .byte 0x9f 36506 6982 00000000 .4byte 0 36507 6986 00000000 .4byte 0 36508 .LVUS425: 36509 698a 00 .uleb128 0 36510 698b 00 .uleb128 .LVU2863 36511 698c 00 .uleb128 .LVU2863 36512 698d 00 .uleb128 .LVU2866 36513 698e 00 .uleb128 .LVU2866 36514 698f 00 .uleb128 .LVU2904 36515 6990 00 .uleb128 .LVU2904 36516 6991 00 .uleb128 0 36517 .LLST425: 36518 6992 00000000 .4byte .LVL645 36519 6996 0C000000 .4byte .LVL646 36520 699a 0100 .2byte 0x1 36521 699c 51 .byte 0x51 36522 699d 0C000000 .4byte .LVL646 36523 69a1 14000000 .4byte .LVL647 36524 69a5 0A00 .2byte 0xa 36525 69a7 F3 .byte 0xf3 36526 69a8 03 .uleb128 0x3 36527 69a9 F5 .byte 0xf5 36528 69aa 01 .uleb128 0x1 36529 69ab 29 .uleb128 0x29 36530 69ac F7 .byte 0xf7 36531 69ad 30 .uleb128 0x30 36532 69ae F7 .byte 0xf7 36533 69af 00 .uleb128 0 36534 69b0 9F .byte 0x9f 36535 69b1 14000000 .4byte .LVL647 36536 69b5 57000000 .4byte .LVL653-1 36537 69b9 0100 .2byte 0x1 36538 69bb 51 .byte 0x51 36539 69bc 57000000 .4byte .LVL653-1 36540 69c0 B0020000 .4byte .LFE202 36541 69c4 0A00 .2byte 0xa 36542 69c6 F3 .byte 0xf3 36543 69c7 03 .uleb128 0x3 36544 69c8 F5 .byte 0xf5 ARM GAS /tmp/ccJhhmLc.s page 1118 36545 69c9 01 .uleb128 0x1 36546 69ca 29 .uleb128 0x29 36547 69cb F7 .byte 0xf7 36548 69cc 30 .uleb128 0x30 36549 69cd F7 .byte 0xf7 36550 69ce 00 .uleb128 0 36551 69cf 9F .byte 0x9f 36552 69d0 00000000 .4byte 0 36553 69d4 00000000 .4byte 0 36554 .LVUS426: 36555 69d8 00 .uleb128 0 36556 69d9 00 .uleb128 .LVU2863 36557 69da 00 .uleb128 .LVU2863 36558 69db 00 .uleb128 .LVU2866 36559 69dc 00 .uleb128 .LVU2866 36560 69dd 00 .uleb128 .LVU2869 36561 69de 00 .uleb128 .LVU2869 36562 69df 00 .uleb128 .LVU2981 36563 69e0 00 .uleb128 .LVU2981 36564 69e1 00 .uleb128 .LVU3063 36565 69e2 00 .uleb128 .LVU3063 36566 69e3 00 .uleb128 0 36567 .LLST426: 36568 69e4 00000000 .4byte .LVL645 36569 69e8 0C000000 .4byte .LVL646 36570 69ec 0100 .2byte 0x1 36571 69ee 52 .byte 0x52 36572 69ef 0C000000 .4byte .LVL646 36573 69f3 14000000 .4byte .LVL647 36574 69f7 0A00 .2byte 0xa 36575 69f9 F3 .byte 0xf3 36576 69fa 03 .uleb128 0x3 36577 69fb F5 .byte 0xf5 36578 69fc 02 .uleb128 0x2 36579 69fd 29 .uleb128 0x29 36580 69fe F7 .byte 0xf7 36581 69ff 30 .uleb128 0x30 36582 6a00 F7 .byte 0xf7 36583 6a01 00 .uleb128 0 36584 6a02 9F .byte 0x9f 36585 6a03 14000000 .4byte .LVL647 36586 6a07 18000000 .4byte .LVL648 36587 6a0b 0100 .2byte 0x1 36588 6a0d 52 .byte 0x52 36589 6a0e 18000000 .4byte .LVL648 36590 6a12 28010000 .4byte .LVL667 36591 6a16 0100 .2byte 0x1 36592 6a18 56 .byte 0x56 36593 6a19 28010000 .4byte .LVL667 36594 6a1d 7E020000 .4byte .LVL683 36595 6a21 0A00 .2byte 0xa 36596 6a23 F3 .byte 0xf3 36597 6a24 03 .uleb128 0x3 36598 6a25 F5 .byte 0xf5 36599 6a26 02 .uleb128 0x2 36600 6a27 29 .uleb128 0x29 36601 6a28 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1119 36602 6a29 30 .uleb128 0x30 36603 6a2a F7 .byte 0xf7 36604 6a2b 00 .uleb128 0 36605 6a2c 9F .byte 0x9f 36606 6a2d 7E020000 .4byte .LVL683 36607 6a31 B0020000 .4byte .LFE202 36608 6a35 0100 .2byte 0x1 36609 6a37 56 .byte 0x56 36610 6a38 00000000 .4byte 0 36611 6a3c 00000000 .4byte 0 36612 .LVUS427: 36613 6a40 00 .uleb128 .LVU2875 36614 6a41 00 .uleb128 .LVU2904 36615 .LLST427: 36616 6a42 26000000 .4byte .LVL650 36617 6a46 57000000 .4byte .LVL653-1 36618 6a4a 0100 .2byte 0x1 36619 6a4c 53 .byte 0x53 36620 6a4d 00000000 .4byte 0 36621 6a51 00000000 .4byte 0 36622 .LVUS428: 36623 6a55 01 .uleb128 .LVU2884 36624 6a56 00 .uleb128 .LVU3003 36625 6a57 00 .uleb128 .LVU3003 36626 6a58 00 .uleb128 .LVU3052 36627 6a59 00 .uleb128 .LVU3052 36628 6a5a 00 .uleb128 0 36629 .LLST428: 36630 6a5b 2E000000 .4byte .LVL651 36631 6a5f 90010000 .4byte .LVL672 36632 6a63 0C00 .2byte 0xc 36633 6a65 74 .byte 0x74 36634 6a66 00 .sleb128 0 36635 6a67 08 .byte 0x8 36636 6a68 A8 .byte 0xa8 36637 6a69 1E .byte 0x1e 36638 6a6a 03 .byte 0x3 36639 6a6b 00000000 .4byte _ZL9_i2c_devs 36640 6a6f 22 .byte 0x22 36641 6a70 9F .byte 0x9f 36642 6a71 90010000 .4byte .LVL672 36643 6a75 40020000 .4byte .LVL679 36644 6a79 1300 .2byte 0x13 36645 6a7b F3 .byte 0xf3 36646 6a7c 03 .uleb128 0x3 36647 6a7d F5 .byte 0xf5 36648 6a7e 00 .uleb128 0 36649 6a7f 29 .uleb128 0x29 36650 6a80 F7 .byte 0xf7 36651 6a81 30 .uleb128 0x30 36652 6a82 F7 .byte 0xf7 36653 6a83 00 .uleb128 0 36654 6a84 08 .byte 0x8 36655 6a85 A8 .byte 0xa8 36656 6a86 1E .byte 0x1e 36657 6a87 03 .byte 0x3 36658 6a88 00000000 .4byte _ZL9_i2c_devs ARM GAS /tmp/ccJhhmLc.s page 1120 36659 6a8c 22 .byte 0x22 36660 6a8d 9F .byte 0x9f 36661 6a8e 40020000 .4byte .LVL679 36662 6a92 B0020000 .4byte .LFE202 36663 6a96 0C00 .2byte 0xc 36664 6a98 74 .byte 0x74 36665 6a99 00 .sleb128 0 36666 6a9a 08 .byte 0x8 36667 6a9b A8 .byte 0xa8 36668 6a9c 1E .byte 0x1e 36669 6a9d 03 .byte 0x3 36670 6a9e 00000000 .4byte _ZL9_i2c_devs 36671 6aa2 22 .byte 0x22 36672 6aa3 9F .byte 0x9f 36673 6aa4 00000000 .4byte 0 36674 6aa8 00000000 .4byte 0 36675 .LVUS429: 36676 6aac 02 .uleb128 .LVU2885 36677 6aad 00 .uleb128 .LVU2904 36678 .LLST429: 36679 6aae 2E000000 .4byte .LVL651 36680 6ab2 57000000 .4byte .LVL653-1 36681 6ab6 0300 .2byte 0x3 36682 6ab8 73 .byte 0x73 36683 6ab9 04 .sleb128 4 36684 6aba 9F .byte 0x9f 36685 6abb 00000000 .4byte 0 36686 6abf 00000000 .4byte 0 36687 .LVUS430: 36688 6ac3 02 .uleb128 .LVU2858 36689 6ac4 00 .uleb128 .LVU2863 36690 6ac5 00 .uleb128 .LVU2866 36691 6ac6 00 .uleb128 .LVU2872 36692 6ac7 00 .uleb128 .LVU2872 36693 6ac8 00 .uleb128 .LVU2875 36694 .LLST430: 36695 6ac9 00000000 .4byte .LVL645 36696 6acd 0C000000 .4byte .LVL646 36697 6ad1 0100 .2byte 0x1 36698 6ad3 50 .byte 0x50 36699 6ad4 14000000 .4byte .LVL647 36700 6ad8 1E000000 .4byte .LVL649 36701 6adc 0100 .2byte 0x1 36702 6ade 50 .byte 0x50 36703 6adf 1E000000 .4byte .LVL649 36704 6ae3 26000000 .4byte .LVL650 36705 6ae7 0100 .2byte 0x1 36706 6ae9 54 .byte 0x54 36707 6aea 00000000 .4byte 0 36708 6aee 00000000 .4byte 0 36709 .LVUS431: 36710 6af2 01 .uleb128 .LVU2902 36711 6af3 00 .uleb128 .LVU2914 36712 .LLST431: 36713 6af4 52000000 .4byte .LVL652 36714 6af8 96000000 .4byte .LVL660 36715 6afc 0100 .2byte 0x1 ARM GAS /tmp/ccJhhmLc.s page 1121 36716 6afe 56 .byte 0x56 36717 6aff 00000000 .4byte 0 36718 6b03 00000000 .4byte 0 36719 .LVUS432: 36720 6b07 00 .uleb128 .LVU2917 36721 6b08 00 .uleb128 .LVU2922 36722 6b09 00 .uleb128 .LVU2972 36723 6b0a 00 .uleb128 .LVU2978 36724 6b0b 00 .uleb128 .LVU3063 36725 6b0c 00 .uleb128 0 36726 .LLST432: 36727 6b0d 98000000 .4byte .LVL661 36728 6b11 A5000000 .4byte .LVL662-1 36729 6b15 0100 .2byte 0x1 36730 6b17 53 .byte 0x53 36731 6b18 0C010000 .4byte .LVL665 36732 6b1c 26010000 .4byte .LVL666 36733 6b20 0100 .2byte 0x1 36734 6b22 53 .byte 0x53 36735 6b23 7E020000 .4byte .LVL683 36736 6b27 B0020000 .4byte .LFE202 36737 6b2b 0100 .2byte 0x1 36738 6b2d 53 .byte 0x53 36739 6b2e 00000000 .4byte 0 36740 6b32 00000000 .4byte 0 36741 .LVUS433: 36742 6b36 02 .uleb128 .LVU2924 36743 6b37 00 .uleb128 .LVU2971 36744 6b38 00 .uleb128 .LVU2978 36745 6b39 00 .uleb128 .LVU3003 36746 6b3a 00 .uleb128 .LVU3003 36747 6b3b 01 .uleb128 .LVU3017 36748 6b3c 00 .uleb128 .LVU3052 36749 6b3d 00 .uleb128 .LVU3063 36750 .LLST433: 36751 6b3e A6000000 .4byte .LVL662 36752 6b42 0A010000 .4byte .LVL664 36753 6b46 0C00 .2byte 0xc 36754 6b48 74 .byte 0x74 36755 6b49 00 .sleb128 0 36756 6b4a 08 .byte 0x8 36757 6b4b A8 .byte 0xa8 36758 6b4c 1E .byte 0x1e 36759 6b4d 03 .byte 0x3 36760 6b4e 00000000 .4byte _ZL9_i2c_devs 36761 6b52 22 .byte 0x22 36762 6b53 9F .byte 0x9f 36763 6b54 26010000 .4byte .LVL666 36764 6b58 90010000 .4byte .LVL672 36765 6b5c 0C00 .2byte 0xc 36766 6b5e 74 .byte 0x74 36767 6b5f 00 .sleb128 0 36768 6b60 08 .byte 0x8 36769 6b61 A8 .byte 0xa8 36770 6b62 1E .byte 0x1e 36771 6b63 03 .byte 0x3 36772 6b64 00000000 .4byte _ZL9_i2c_devs ARM GAS /tmp/ccJhhmLc.s page 1122 36773 6b68 22 .byte 0x22 36774 6b69 9F .byte 0x9f 36775 6b6a 90010000 .4byte .LVL672 36776 6b6e D8010000 .4byte .LVL673 36777 6b72 1300 .2byte 0x13 36778 6b74 F3 .byte 0xf3 36779 6b75 03 .uleb128 0x3 36780 6b76 F5 .byte 0xf5 36781 6b77 00 .uleb128 0 36782 6b78 29 .uleb128 0x29 36783 6b79 F7 .byte 0xf7 36784 6b7a 30 .uleb128 0x30 36785 6b7b F7 .byte 0xf7 36786 6b7c 00 .uleb128 0 36787 6b7d 08 .byte 0x8 36788 6b7e A8 .byte 0xa8 36789 6b7f 1E .byte 0x1e 36790 6b80 03 .byte 0x3 36791 6b81 00000000 .4byte _ZL9_i2c_devs 36792 6b85 22 .byte 0x22 36793 6b86 9F .byte 0x9f 36794 6b87 40020000 .4byte .LVL679 36795 6b8b 7E020000 .4byte .LVL683 36796 6b8f 0C00 .2byte 0xc 36797 6b91 74 .byte 0x74 36798 6b92 00 .sleb128 0 36799 6b93 08 .byte 0x8 36800 6b94 A8 .byte 0xa8 36801 6b95 1E .byte 0x1e 36802 6b96 03 .byte 0x3 36803 6b97 00000000 .4byte _ZL9_i2c_devs 36804 6b9b 22 .byte 0x22 36805 6b9c 9F .byte 0x9f 36806 6b9d 00000000 .4byte 0 36807 6ba1 00000000 .4byte 0 36808 .LVUS434: 36809 6ba5 00 .uleb128 .LVU2983 36810 6ba6 00 .uleb128 .LVU2990 36811 6ba7 00 .uleb128 .LVU2990 36812 6ba8 00 .uleb128 .LVU2995 36813 6ba9 00 .uleb128 .LVU2995 36814 6baa 00 .uleb128 .LVU2997 36815 6bab 00 .uleb128 .LVU3052 36816 6bac 00 .uleb128 .LVU3054 36817 6bad 00 .uleb128 .LVU3057 36818 6bae 00 .uleb128 .LVU3058 36819 .LLST434: 36820 6baf 30010000 .4byte .LVL668 36821 6bb3 46010000 .4byte .LVL669 36822 6bb7 0100 .2byte 0x1 36823 6bb9 51 .byte 0x51 36824 6bba 46010000 .4byte .LVL669 36825 6bbe 6C010000 .4byte .LVL670 36826 6bc2 0F00 .2byte 0xf 36827 6bc4 73 .byte 0x73 36828 6bc5 00 .sleb128 0 36829 6bc6 F7 .byte 0xf7 ARM GAS /tmp/ccJhhmLc.s page 1123 36830 6bc7 30 .uleb128 0x30 36831 6bc8 0C .byte 0xc 36832 6bc9 40420F00 .4byte 0xf4240 36833 6bcd F7 .byte 0xf7 36834 6bce 30 .uleb128 0x30 36835 6bcf 1B .byte 0x1b 36836 6bd0 F7 .byte 0xf7 36837 6bd1 00 .uleb128 0 36838 6bd2 9F .byte 0x9f 36839 6bd3 6C010000 .4byte .LVL670 36840 6bd7 74010000 .4byte .LVL671 36841 6bdb 0F00 .2byte 0xf 36842 6bdd 73 .byte 0x73 36843 6bde 01 .sleb128 1 36844 6bdf F7 .byte 0xf7 36845 6be0 30 .uleb128 0x30 36846 6be1 0C .byte 0xc 36847 6be2 40420F00 .4byte 0xf4240 36848 6be6 F7 .byte 0xf7 36849 6be7 30 .uleb128 0x30 36850 6be8 1B .byte 0x1b 36851 6be9 F7 .byte 0xf7 36852 6bea 00 .uleb128 0 36853 6beb 9F .byte 0x9f 36854 6bec 40020000 .4byte .LVL679 36855 6bf0 52020000 .4byte .LVL680 36856 6bf4 0F00 .2byte 0xf 36857 6bf6 73 .byte 0x73 36858 6bf7 01 .sleb128 1 36859 6bf8 F7 .byte 0xf7 36860 6bf9 30 .uleb128 0x30 36861 6bfa 0C .byte 0xc 36862 6bfb 40420F00 .4byte 0xf4240 36863 6bff F7 .byte 0xf7 36864 6c00 30 .uleb128 0x30 36865 6c01 1B .byte 0x1b 36866 6c02 F7 .byte 0xf7 36867 6c03 00 .uleb128 0 36868 6c04 9F .byte 0x9f 36869 6c05 60020000 .4byte .LVL681 36870 6c09 68020000 .4byte .LVL682 36871 6c0d 0F00 .2byte 0xf 36872 6c0f 73 .byte 0x73 36873 6c10 01 .sleb128 1 36874 6c11 F7 .byte 0xf7 36875 6c12 30 .uleb128 0x30 36876 6c13 0C .byte 0xc 36877 6c14 40420F00 .4byte 0xf4240 36878 6c18 F7 .byte 0xf7 36879 6c19 30 .uleb128 0x30 36880 6c1a 1B .byte 0x1b 36881 6c1b F7 .byte 0xf7 36882 6c1c 00 .uleb128 0 36883 6c1d 9F .byte 0x9f 36884 6c1e 00000000 .4byte 0 36885 6c22 00000000 .4byte 0 36886 .LVUS435: ARM GAS /tmp/ccJhhmLc.s page 1124 36887 6c26 00 .uleb128 .LVU2963 36888 6c27 00 .uleb128 .LVU2971 36889 6c28 00 .uleb128 .LVU2978 36890 6c29 00 .uleb128 .LVU2995 36891 6c2a 00 .uleb128 .LVU2995 36892 6c2b 00 .uleb128 .LVU2997 36893 6c2c 00 .uleb128 .LVU3052 36894 6c2d 00 .uleb128 .LVU3054 36895 6c2e 00 .uleb128 .LVU3057 36896 6c2f 00 .uleb128 .LVU3058 36897 .LLST435: 36898 6c30 F0000000 .4byte .LVL663 36899 6c34 0A010000 .4byte .LVL664 36900 6c38 0100 .2byte 0x1 36901 6c3a 53 .byte 0x53 36902 6c3b 26010000 .4byte .LVL666 36903 6c3f 6C010000 .4byte .LVL670 36904 6c43 0100 .2byte 0x1 36905 6c45 53 .byte 0x53 36906 6c46 6C010000 .4byte .LVL670 36907 6c4a 74010000 .4byte .LVL671 36908 6c4e 0300 .2byte 0x3 36909 6c50 73 .byte 0x73 36910 6c51 01 .sleb128 1 36911 6c52 9F .byte 0x9f 36912 6c53 40020000 .4byte .LVL679 36913 6c57 52020000 .4byte .LVL680 36914 6c5b 0300 .2byte 0x3 36915 6c5d 73 .byte 0x73 36916 6c5e 01 .sleb128 1 36917 6c5f 9F .byte 0x9f 36918 6c60 60020000 .4byte .LVL681 36919 6c64 68020000 .4byte .LVL682 36920 6c68 0300 .2byte 0x3 36921 6c6a 73 .byte 0x73 36922 6c6b 01 .sleb128 1 36923 6c6c 9F .byte 0x9f 36924 6c6d 00000000 .4byte 0 36925 6c71 00000000 .4byte 0 36926 .LVUS436: 36927 6c75 04 .uleb128 .LVU3020 36928 6c76 00 .uleb128 .LVU3033 36929 .LLST436: 36930 6c77 D8010000 .4byte .LVL673 36931 6c7b 0A020000 .4byte .LVL675 36932 6c7f 0200 .2byte 0x2 36933 6c81 30 .byte 0x30 36934 6c82 9F .byte 0x9f 36935 6c83 00000000 .4byte 0 36936 6c87 00000000 .4byte 0 36937 .LVUS437: 36938 6c8b 03 .uleb128 .LVU3019 36939 6c8c 00 .uleb128 .LVU3033 36940 .LLST437: 36941 6c8d D8010000 .4byte .LVL673 36942 6c91 0A020000 .4byte .LVL675 36943 6c95 1300 .2byte 0x13 ARM GAS /tmp/ccJhhmLc.s page 1125 36944 6c97 F3 .byte 0xf3 36945 6c98 03 .uleb128 0x3 36946 6c99 F5 .byte 0xf5 36947 6c9a 00 .uleb128 0 36948 6c9b 29 .uleb128 0x29 36949 6c9c F7 .byte 0xf7 36950 6c9d 30 .uleb128 0x30 36951 6c9e F7 .byte 0xf7 36952 6c9f 00 .uleb128 0 36953 6ca0 08 .byte 0x8 36954 6ca1 A8 .byte 0xa8 36955 6ca2 1E .byte 0x1e 36956 6ca3 03 .byte 0x3 36957 6ca4 00000000 .4byte _ZL9_i2c_devs 36958 6ca8 22 .byte 0x22 36959 6ca9 9F .byte 0x9f 36960 6caa 00000000 .4byte 0 36961 6cae 00000000 .4byte 0 36962 .LVUS438: 36963 6cb2 01 .uleb128 .LVU3025 36964 6cb3 00 .uleb128 .LVU3033 36965 .LLST438: 36966 6cb4 E4010000 .4byte .LVL674 36967 6cb8 0A020000 .4byte .LVL675 36968 6cbc 0200 .2byte 0x2 36969 6cbe 30 .byte 0x30 36970 6cbf 9F .byte 0x9f 36971 6cc0 00000000 .4byte 0 36972 6cc4 00000000 .4byte 0 36973 .LVUS439: 36974 6cc8 00 .uleb128 .LVU3024 36975 6cc9 00 .uleb128 .LVU3033 36976 .LLST439: 36977 6cca E4010000 .4byte .LVL674 36978 6cce 0A020000 .4byte .LVL675 36979 6cd2 1300 .2byte 0x13 36980 6cd4 F3 .byte 0xf3 36981 6cd5 03 .uleb128 0x3 36982 6cd6 F5 .byte 0xf5 36983 6cd7 00 .uleb128 0 36984 6cd8 29 .uleb128 0x29 36985 6cd9 F7 .byte 0xf7 36986 6cda 30 .uleb128 0x30 36987 6cdb F7 .byte 0xf7 36988 6cdc 00 .uleb128 0 36989 6cdd 08 .byte 0x8 36990 6cde A8 .byte 0xa8 36991 6cdf 1E .byte 0x1e 36992 6ce0 03 .byte 0x3 36993 6ce1 00000000 .4byte _ZL9_i2c_devs 36994 6ce5 22 .byte 0x22 36995 6ce6 9F .byte 0x9f 36996 6ce7 00000000 .4byte 0 36997 6ceb 00000000 .4byte 0 36998 .LVUS440: 36999 6cef 03 .uleb128 .LVU3036 37000 6cf0 00 .uleb128 .LVU3047 ARM GAS /tmp/ccJhhmLc.s page 1126 37001 .LLST440: 37002 6cf1 0A020000 .4byte .LVL675 37003 6cf5 38020000 .4byte .LVL678 37004 6cf9 0200 .2byte 0x2 37005 6cfb 30 .byte 0x30 37006 6cfc 9F .byte 0x9f 37007 6cfd 00000000 .4byte 0 37008 6d01 00000000 .4byte 0 37009 .LVUS441: 37010 6d05 02 .uleb128 .LVU3035 37011 6d06 00 .uleb128 .LVU3047 37012 .LLST441: 37013 6d07 0A020000 .4byte .LVL675 37014 6d0b 38020000 .4byte .LVL678 37015 6d0f 1300 .2byte 0x13 37016 6d11 F3 .byte 0xf3 37017 6d12 03 .uleb128 0x3 37018 6d13 F5 .byte 0xf5 37019 6d14 00 .uleb128 0 37020 6d15 29 .uleb128 0x29 37021 6d16 F7 .byte 0xf7 37022 6d17 30 .uleb128 0x30 37023 6d18 F7 .byte 0xf7 37024 6d19 00 .uleb128 0 37025 6d1a 08 .byte 0x8 37026 6d1b A8 .byte 0xa8 37027 6d1c 1E .byte 0x1e 37028 6d1d 03 .byte 0x3 37029 6d1e 00000000 .4byte _ZL9_i2c_devs 37030 6d22 22 .byte 0x22 37031 6d23 9F .byte 0x9f 37032 6d24 00000000 .4byte 0 37033 6d28 00000000 .4byte 0 37034 .LVUS442: 37035 6d2c 03 .uleb128 .LVU3036 37036 6d2d 00 .uleb128 .LVU3052 37037 .LLST442: 37038 6d2e 0A020000 .4byte .LVL675 37039 6d32 40020000 .4byte .LVL679 37040 6d36 0200 .2byte 0x2 37041 6d38 30 .byte 0x30 37042 6d39 9F .byte 0x9f 37043 6d3a 00000000 .4byte 0 37044 6d3e 00000000 .4byte 0 37045 .LVUS443: 37046 6d42 01 .uleb128 .LVU3041 37047 6d43 00 .uleb128 .LVU3047 37048 .LLST443: 37049 6d44 16020000 .4byte .LVL676 37050 6d48 38020000 .4byte .LVL678 37051 6d4c 0200 .2byte 0x2 37052 6d4e 30 .byte 0x30 37053 6d4f 9F .byte 0x9f 37054 6d50 00000000 .4byte 0 37055 6d54 00000000 .4byte 0 37056 .LVUS444: 37057 6d58 00 .uleb128 .LVU3040 ARM GAS /tmp/ccJhhmLc.s page 1127 37058 6d59 00 .uleb128 .LVU3047 37059 .LLST444: 37060 6d5a 16020000 .4byte .LVL676 37061 6d5e 38020000 .4byte .LVL678 37062 6d62 1300 .2byte 0x13 37063 6d64 F3 .byte 0xf3 37064 6d65 03 .uleb128 0x3 37065 6d66 F5 .byte 0xf5 37066 6d67 00 .uleb128 0 37067 6d68 29 .uleb128 0x29 37068 6d69 F7 .byte 0xf7 37069 6d6a 30 .uleb128 0x30 37070 6d6b F7 .byte 0xf7 37071 6d6c 00 .uleb128 0 37072 6d6d 08 .byte 0x8 37073 6d6e A8 .byte 0xa8 37074 6d6f 1E .byte 0x1e 37075 6d70 03 .byte 0x3 37076 6d71 00000000 .4byte _ZL9_i2c_devs 37077 6d75 22 .byte 0x22 37078 6d76 9F .byte 0x9f 37079 6d77 00000000 .4byte 0 37080 6d7b 00000000 .4byte 0 37081 .LVUS445: 37082 6d7f 00 .uleb128 .LVU3044 37083 6d80 00 .uleb128 .LVU3047 37084 .LLST445: 37085 6d81 24020000 .4byte .LVL677 37086 6d85 38020000 .4byte .LVL678 37087 6d89 0600 .2byte 0x6 37088 6d8b 74 .byte 0x74 37089 6d8c 00 .sleb128 0 37090 6d8d 09 .byte 0x9 37091 6d8e F0 .byte 0xf0 37092 6d8f 1A .byte 0x1a 37093 6d90 9F .byte 0x9f 37094 6d91 00000000 .4byte 0 37095 6d95 00000000 .4byte 0 37096 .LLST446: 37097 6d99 00000000 .4byte .LFB216 37098 6d9d 04000000 .4byte .LCFI92 37099 6da1 0200 .2byte 0x2 37100 6da3 7D .byte 0x7d 37101 6da4 00 .sleb128 0 37102 6da5 04000000 .4byte .LCFI92 37103 6da9 A8000000 .4byte .LFE216 37104 6dad 0200 .2byte 0x2 37105 6daf 7D .byte 0x7d 37106 6db0 10 .sleb128 16 37107 6db1 00000000 .4byte 0 37108 6db5 00000000 .4byte 0 37109 .LVUS447: 37110 6db9 00 .uleb128 0 37111 6dba 00 .uleb128 .LVU3072 37112 6dbb 00 .uleb128 .LVU3072 37113 6dbc 00 .uleb128 .LVU3075 37114 6dbd 00 .uleb128 .LVU3075 ARM GAS /tmp/ccJhhmLc.s page 1128 37115 6dbe 00 .uleb128 .LVU3089 37116 6dbf 00 .uleb128 .LVU3089 37117 6dc0 00 .uleb128 0 37118 .LLST447: 37119 6dc1 00000000 .4byte .LVL684 37120 6dc5 08000000 .4byte .LVL686 37121 6dc9 0100 .2byte 0x1 37122 6dcb 50 .byte 0x50 37123 6dcc 08000000 .4byte .LVL686 37124 6dd0 0E000000 .4byte .LVL687 37125 6dd4 0100 .2byte 0x1 37126 6dd6 55 .byte 0x55 37127 6dd7 0E000000 .4byte .LVL687 37128 6ddb 22000000 .4byte .LVL689 37129 6ddf 0100 .2byte 0x1 37130 6de1 50 .byte 0x50 37131 6de2 22000000 .4byte .LVL689 37132 6de6 A8000000 .4byte .LFE216 37133 6dea 0100 .2byte 0x1 37134 6dec 55 .byte 0x55 37135 6ded 00000000 .4byte 0 37136 6df1 00000000 .4byte 0 37137 .LVUS448: 37138 6df5 01 .uleb128 .LVU3076 37139 6df6 00 .uleb128 .LVU3085 37140 6df7 00 .uleb128 .LVU3085 37141 6df8 00 .uleb128 .LVU3113 37142 .LLST448: 37143 6df9 0E000000 .4byte .LVL687 37144 6dfd 16000000 .4byte .LVL688 37145 6e01 0C00 .2byte 0xc 37146 6e03 70 .byte 0x70 37147 6e04 00 .sleb128 0 37148 6e05 08 .byte 0x8 37149 6e06 A8 .byte 0xa8 37150 6e07 1E .byte 0x1e 37151 6e08 03 .byte 0x3 37152 6e09 00000000 .4byte _ZL9_i2c_devs 37153 6e0d 22 .byte 0x22 37154 6e0e 9F .byte 0x9f 37155 6e0f 16000000 .4byte .LVL688 37156 6e13 47000000 .4byte .LVL691-1 37157 6e17 0100 .2byte 0x1 37158 6e19 53 .byte 0x53 37159 6e1a 00000000 .4byte 0 37160 6e1e 00000000 .4byte 0 37161 .LVUS449: 37162 6e22 05 .uleb128 .LVU3125 37163 6e23 00 .uleb128 .LVU3139 37164 .LLST449: 37165 6e24 58000000 .4byte .LVL693 37166 6e28 80000000 .4byte .LVL699 37167 6e2c 0C00 .2byte 0xc 37168 6e2e 75 .byte 0x75 37169 6e2f 00 .sleb128 0 37170 6e30 08 .byte 0x8 37171 6e31 A8 .byte 0xa8 ARM GAS /tmp/ccJhhmLc.s page 1129 37172 6e32 1E .byte 0x1e 37173 6e33 03 .byte 0x3 37174 6e34 00000000 .4byte _ZL9_i2c_devs 37175 6e38 22 .byte 0x22 37176 6e39 9F .byte 0x9f 37177 6e3a 00000000 .4byte 0 37178 6e3e 00000000 .4byte 0 37179 .LVUS450: 37180 6e42 02 .uleb128 .LVU3067 37181 6e43 00 .uleb128 .LVU3071 37182 6e44 00 .uleb128 .LVU3071 37183 6e45 00 .uleb128 .LVU3072 37184 6e46 00 .uleb128 .LVU3075 37185 6e47 01 .uleb128 .LVU3076 37186 .LLST450: 37187 6e48 00000000 .4byte .LVL684 37188 6e4c 06000000 .4byte .LVL685 37189 6e50 0A00 .2byte 0xa 37190 6e52 F3 .byte 0xf3 37191 6e53 03 .uleb128 0x3 37192 6e54 F5 .byte 0xf5 37193 6e55 00 .uleb128 0 37194 6e56 29 .uleb128 0x29 37195 6e57 F7 .byte 0xf7 37196 6e58 37 .uleb128 0x37 37197 6e59 F7 .byte 0xf7 37198 6e5a 00 .uleb128 0 37199 6e5b 9F .byte 0x9f 37200 6e5c 06000000 .4byte .LVL685 37201 6e60 08000000 .4byte .LVL686 37202 6e64 0100 .2byte 0x1 37203 6e66 55 .byte 0x55 37204 6e67 0E000000 .4byte .LVL687 37205 6e6b 0E000000 .4byte .LVL687 37206 6e6f 0100 .2byte 0x1 37207 6e71 55 .byte 0x55 37208 6e72 00000000 .4byte 0 37209 6e76 00000000 .4byte 0 37210 .LVUS451: 37211 6e7a 04 .uleb128 .LVU3079 37212 6e7b 00 .uleb128 .LVU3085 37213 6e7c 00 .uleb128 .LVU3085 37214 6e7d 04 .uleb128 .LVU3110 37215 .LLST451: 37216 6e7e 0E000000 .4byte .LVL687 37217 6e82 16000000 .4byte .LVL688 37218 6e86 0C00 .2byte 0xc 37219 6e88 70 .byte 0x70 37220 6e89 00 .sleb128 0 37221 6e8a 08 .byte 0x8 37222 6e8b A8 .byte 0xa8 37223 6e8c 1E .byte 0x1e 37224 6e8d 03 .byte 0x3 37225 6e8e 00000000 .4byte _ZL9_i2c_devs 37226 6e92 22 .byte 0x22 37227 6e93 9F .byte 0x9f 37228 6e94 16000000 .4byte .LVL688 ARM GAS /tmp/ccJhhmLc.s page 1130 37229 6e98 44000000 .4byte .LVL690 37230 6e9c 0100 .2byte 0x1 37231 6e9e 53 .byte 0x53 37232 6e9f 00000000 .4byte 0 37233 6ea3 00000000 .4byte 0 37234 .LVUS452: 37235 6ea7 06 .uleb128 .LVU3081 37236 6ea8 00 .uleb128 .LVU3085 37237 6ea9 00 .uleb128 .LVU3085 37238 6eaa 04 .uleb128 .LVU3110 37239 .LLST452: 37240 6eab 0E000000 .4byte .LVL687 37241 6eaf 16000000 .4byte .LVL688 37242 6eb3 0C00 .2byte 0xc 37243 6eb5 70 .byte 0x70 37244 6eb6 00 .sleb128 0 37245 6eb7 08 .byte 0x8 37246 6eb8 A8 .byte 0xa8 37247 6eb9 1E .byte 0x1e 37248 6eba 03 .byte 0x3 37249 6ebb 00000000 .4byte _ZL9_i2c_devs 37250 6ebf 22 .byte 0x22 37251 6ec0 9F .byte 0x9f 37252 6ec1 16000000 .4byte .LVL688 37253 6ec5 44000000 .4byte .LVL690 37254 6ec9 0100 .2byte 0x1 37255 6ecb 53 .byte 0x53 37256 6ecc 00000000 .4byte 0 37257 6ed0 00000000 .4byte 0 37258 .LVUS453: 37259 6ed4 00 .uleb128 .LVU3115 37260 6ed5 00 .uleb128 .LVU3120 37261 6ed6 00 .uleb128 .LVU3139 37262 6ed7 00 .uleb128 0 37263 .LLST453: 37264 6ed8 4A000000 .4byte .LVL692 37265 6edc 57000000 .4byte .LVL693-1 37266 6ee0 0100 .2byte 0x1 37267 6ee2 53 .byte 0x53 37268 6ee3 80000000 .4byte .LVL699 37269 6ee7 A8000000 .4byte .LFE216 37270 6eeb 0100 .2byte 0x1 37271 6eed 53 .byte 0x53 37272 6eee 00000000 .4byte 0 37273 6ef2 00000000 .4byte 0 37274 .LVUS454: 37275 6ef6 02 .uleb128 .LVU3122 37276 6ef7 05 .uleb128 .LVU3125 37277 .LLST454: 37278 6ef8 58000000 .4byte .LVL693 37279 6efc 58000000 .4byte .LVL693 37280 6f00 0100 .2byte 0x1 37281 6f02 55 .byte 0x55 37282 6f03 00000000 .4byte 0 37283 6f07 00000000 .4byte 0 37284 .LVUS455: 37285 6f0b 00 .uleb128 .LVU3131 ARM GAS /tmp/ccJhhmLc.s page 1131 37286 6f0c 00 .uleb128 .LVU3138 37287 .LLST455: 37288 6f0d 62000000 .4byte .LVL694 37289 6f11 7E000000 .4byte .LVL698 37290 6f15 0100 .2byte 0x1 37291 6f17 54 .byte 0x54 37292 6f18 00000000 .4byte 0 37293 6f1c 00000000 .4byte 0 37294 .section .debug_aranges,"",%progbits 37295 0000 84010000 .4byte 0x184 37296 0004 0200 .2byte 0x2 37297 0006 00000000 .4byte .Ldebug_info0 37298 000a 04 .byte 0x4 37299 000b 00 .byte 0 37300 000c 0000 .2byte 0 37301 000e 0000 .2byte 0 37302 0010 00000000 .4byte .LFB1 37303 0014 1A000000 .4byte .LFE1-.LFB1 37304 0018 00000000 .4byte .LFB3 37305 001c 1A000000 .4byte .LFE3-.LFB3 37306 0020 00000000 .4byte .LFB5 37307 0024 8C010000 .4byte .LFE5-.LFB5 37308 0028 00000000 .4byte .LFB9 37309 002c F0000000 .4byte .LFE9-.LFB9 37310 0030 00000000 .4byte .LFB10 37311 0034 20000000 .4byte .LFE10-.LFB10 37312 0038 00000000 .4byte .LFB13 37313 003c 3C000000 .4byte .LFE13-.LFB13 37314 0040 00000000 .4byte .LFB17 37315 0044 38000000 .4byte .LFE17-.LFB17 37316 0048 00000000 .4byte .LFB24 37317 004c 1C000000 .4byte .LFE24-.LFB24 37318 0050 00000000 .4byte .LFB27 37319 0054 1A000000 .4byte .LFE27-.LFB27 37320 0058 00000000 .4byte .LFB29 37321 005c E8010000 .4byte .LFE29-.LFB29 37322 0060 00000000 .4byte .LFB49 37323 0064 80010000 .4byte .LFE49-.LFB49 37324 0068 00000000 .4byte .LFB52 37325 006c 48000000 .4byte .LFE52-.LFB52 37326 0070 00000000 .4byte .LFB57 37327 0074 54020000 .4byte .LFE57-.LFB57 37328 0078 00000000 .4byte .LFB60 37329 007c 50030000 .4byte .LFE60-.LFB60 37330 0080 00000000 .4byte .LFB63 37331 0084 8C030000 .4byte .LFE63-.LFB63 37332 0088 00000000 .4byte .LFB66 37333 008c F4010000 .4byte .LFE66-.LFB66 37334 0090 00000000 .4byte .LFB69 37335 0094 B0010000 .4byte .LFE69-.LFB69 37336 0098 00000000 .4byte .LFB72 37337 009c 44000000 .4byte .LFE72-.LFB72 37338 00a0 00000000 .4byte .LFB75 37339 00a4 50000000 .4byte .LFE75-.LFB75 37340 00a8 00000000 .4byte .LFB80 37341 00ac CC030000 .4byte .LFE80-.LFB80 37342 00b0 00000000 .4byte .LFB110 ARM GAS /tmp/ccJhhmLc.s page 1132 37343 00b4 BC000000 .4byte .LFE110-.LFB110 37344 00b8 00000000 .4byte .LFB114 37345 00bc 1A000000 .4byte .LFE114-.LFB114 37346 00c0 00000000 .4byte .LFB115 37347 00c4 5C010000 .4byte .LFE115-.LFB115 37348 00c8 00000000 .4byte .LFB123 37349 00cc 84000000 .4byte .LFE123-.LFB123 37350 00d0 00000000 .4byte .LFB124 37351 00d4 6C010000 .4byte .LFE124-.LFB124 37352 00d8 00000000 .4byte .LFB129 37353 00dc 90000000 .4byte .LFE129-.LFB129 37354 00e0 00000000 .4byte .LFB132 37355 00e4 E4000000 .4byte .LFE132-.LFB132 37356 00e8 00000000 .4byte .LFB148 37357 00ec 30000000 .4byte .LFE148-.LFB148 37358 00f0 00000000 .4byte .LFB150 37359 00f4 48000000 .4byte .LFE150-.LFB150 37360 00f8 00000000 .4byte .LFB153 37361 00fc 42000000 .4byte .LFE153-.LFB153 37362 0100 00000000 .4byte .LFB156 37363 0104 82000000 .4byte .LFE156-.LFB156 37364 0108 00000000 .4byte .LFB161 37365 010c 30000000 .4byte .LFE161-.LFB161 37366 0110 00000000 .4byte .LFB164 37367 0114 D8000000 .4byte .LFE164-.LFB164 37368 0118 00000000 .4byte .LFB169 37369 011c C0000000 .4byte .LFE169-.LFB169 37370 0120 00000000 .4byte .LFB174 37371 0124 38000000 .4byte .LFE174-.LFB174 37372 0128 00000000 .4byte .LFB176 37373 012c 16000000 .4byte .LFE176-.LFB176 37374 0130 00000000 .4byte .LFB180 37375 0134 10000000 .4byte .LFE180-.LFB180 37376 0138 00000000 .4byte .LFB182 37377 013c 88000000 .4byte .LFE182-.LFB182 37378 0140 00000000 .4byte .LFB188 37379 0144 1C000000 .4byte .LFE188-.LFB188 37380 0148 00000000 .4byte .LFB190 37381 014c 08000000 .4byte .LFE190-.LFB190 37382 0150 00000000 .4byte .LFB192 37383 0154 4C000000 .4byte .LFE192-.LFB192 37384 0158 00000000 .4byte .LFB194 37385 015c 8E000000 .4byte .LFE194-.LFB194 37386 0160 00000000 .4byte .LFB199 37387 0164 16000000 .4byte .LFE199-.LFB199 37388 0168 00000000 .4byte .LFB201 37389 016c C8000000 .4byte .LFE201-.LFB201 37390 0170 00000000 .4byte .LFB202 37391 0174 B0020000 .4byte .LFE202-.LFB202 37392 0178 00000000 .4byte .LFB216 37393 017c A8000000 .4byte .LFE216-.LFB216 37394 0180 00000000 .4byte 0 37395 0184 00000000 .4byte 0 37396 .section .debug_ranges,"",%progbits 37397 .Ldebug_ranges0: 37398 0000 F4000000 .4byte .LBB4 37399 0004 FC000000 .4byte .LBE4 ARM GAS /tmp/ccJhhmLc.s page 1133 37400 0008 FE000000 .4byte .LBB7 37401 000c 1A010000 .4byte .LBE7 37402 0010 00000000 .4byte 0 37403 0014 00000000 .4byte 0 37404 0018 16000000 .4byte .LBB30 37405 001c 2C000000 .4byte .LBE30 37406 0020 2E000000 .4byte .LBB35 37407 0024 3C000000 .4byte .LBE35 37408 0028 00000000 .4byte 0 37409 002c 00000000 .4byte 0 37410 0030 16000000 .4byte .LBB31 37411 0034 26000000 .4byte .LBE31 37412 0038 2E000000 .4byte .LBB34 37413 003c 3C000000 .4byte .LBE34 37414 0040 00000000 .4byte 0 37415 0044 00000000 .4byte 0 37416 0048 12000000 .4byte .LBB54 37417 004c 14000000 .4byte .LBE54 37418 0050 1E000000 .4byte .LBB68 37419 0054 26000000 .4byte .LBE68 37420 0058 00000000 .4byte 0 37421 005c 00000000 .4byte 0 37422 0060 1E000000 .4byte .LBB56 37423 0064 1E000000 .4byte .LBE56 37424 0068 1E000000 .4byte .LBB62 37425 006c 20000000 .4byte .LBE62 37426 0070 00000000 .4byte 0 37427 0074 00000000 .4byte 0 37428 0078 0A000000 .4byte .LBB85 37429 007c 10000000 .4byte .LBE85 37430 0080 14000000 .4byte .LBB88 37431 0084 18000000 .4byte .LBE88 37432 0088 00000000 .4byte 0 37433 008c 00000000 .4byte 0 37434 0090 00000000 .4byte .LBB121 37435 0094 00000000 .4byte .LBE121 37436 0098 02000000 .4byte .LBB159 37437 009c 48000000 .4byte .LBE159 37438 00a0 4A000000 .4byte .LBB160 37439 00a4 A0010000 .4byte .LBE160 37440 00a8 A4010000 .4byte .LBB161 37441 00ac D0010000 .4byte .LBE161 37442 00b0 00000000 .4byte 0 37443 00b4 00000000 .4byte 0 37444 00b8 80000000 .4byte .LBB127 37445 00bc 82000000 .4byte .LBE127 37446 00c0 84000000 .4byte .LBB130 37447 00c4 88000000 .4byte .LBE130 37448 00c8 00000000 .4byte 0 37449 00cc 00000000 .4byte 0 37450 00d0 9E000000 .4byte .LBB133 37451 00d4 A2000000 .4byte .LBE133 37452 00d8 96010000 .4byte .LBB154 37453 00dc A0010000 .4byte .LBE154 37454 00e0 A4010000 .4byte .LBB155 37455 00e4 A6010000 .4byte .LBE155 37456 00e8 B6010000 .4byte .LBB156 ARM GAS /tmp/ccJhhmLc.s page 1134 37457 00ec C6010000 .4byte .LBE156 37458 00f0 00000000 .4byte 0 37459 00f4 00000000 .4byte 0 37460 00f8 9E000000 .4byte .LBB135 37461 00fc A2000000 .4byte .LBE135 37462 0100 B6010000 .4byte .LBB138 37463 0104 C6010000 .4byte .LBE138 37464 0108 00000000 .4byte 0 37465 010c 00000000 .4byte 0 37466 0110 B6000000 .4byte .LBB142 37467 0114 B8000000 .4byte .LBE142 37468 0118 BA000000 .4byte .LBB145 37469 011c BE000000 .4byte .LBE145 37470 0120 00000000 .4byte 0 37471 0124 00000000 .4byte 0 37472 0128 00000000 .4byte .LBB164 37473 012c 00000000 .4byte .LBE164 37474 0130 02000000 .4byte .LBB167 37475 0134 E8000000 .4byte .LBE167 37476 0138 EE000000 .4byte .LBB168 37477 013c 72010000 .4byte .LBE168 37478 0140 00000000 .4byte 0 37479 0144 00000000 .4byte 0 37480 0148 00000000 .4byte .LBB194 37481 014c 00000000 .4byte .LBE194 37482 0150 06000000 .4byte .LBB198 37483 0154 08000000 .4byte .LBE198 37484 0158 14000000 .4byte .LBB199 37485 015c 22000000 .4byte .LBE199 37486 0160 00000000 .4byte 0 37487 0164 00000000 .4byte 0 37488 0168 28000000 .4byte .LBB200 37489 016c 28000000 .4byte .LBE200 37490 0170 30000000 .4byte .LBB230 37491 0174 34000000 .4byte .LBE230 37492 0178 38000000 .4byte .LBB232 37493 017c 3C000000 .4byte .LBE232 37494 0180 00000000 .4byte 0 37495 0184 00000000 .4byte 0 37496 0188 28000000 .4byte .LBB204 37497 018c 2C000000 .4byte .LBE204 37498 0190 34000000 .4byte .LBB231 37499 0194 38000000 .4byte .LBE231 37500 0198 3C000000 .4byte .LBB233 37501 019c 4C000000 .4byte .LBE233 37502 01a0 5E000000 .4byte .LBB234 37503 01a4 0C010000 .4byte .LBE234 37504 01a8 10010000 .4byte .LBB235 37505 01ac 12010000 .4byte .LBE235 37506 01b0 16010000 .4byte .LBB236 37507 01b4 1A010000 .4byte .LBE236 37508 01b8 1E010000 .4byte .LBB237 37509 01bc 72010000 .4byte .LBE237 37510 01c0 76010000 .4byte .LBB238 37511 01c4 34020000 .4byte .LBE238 37512 01c8 00000000 .4byte 0 37513 01cc 00000000 .4byte 0 ARM GAS /tmp/ccJhhmLc.s page 1135 37514 01d0 3C000000 .4byte .LBB206 37515 01d4 3C000000 .4byte .LBE206 37516 01d8 40000000 .4byte .LBB211 37517 01dc 44000000 .4byte .LBE211 37518 01e0 00000000 .4byte 0 37519 01e4 00000000 .4byte 0 37520 01e8 BE000000 .4byte .LBB212 37521 01ec 0C010000 .4byte .LBE212 37522 01f0 10010000 .4byte .LBB218 37523 01f4 12010000 .4byte .LBE218 37524 01f8 16010000 .4byte .LBB219 37525 01fc 1A010000 .4byte .LBE219 37526 0200 1E010000 .4byte .LBB220 37527 0204 36010000 .4byte .LBE220 37528 0208 76010000 .4byte .LBB222 37529 020c 9C010000 .4byte .LBE222 37530 0210 00000000 .4byte 0 37531 0214 00000000 .4byte 0 37532 0218 00000000 .4byte .LBB258 37533 021c 00000000 .4byte .LBE258 37534 0220 06000000 .4byte .LBB262 37535 0224 08000000 .4byte .LBE262 37536 0228 14000000 .4byte .LBB263 37537 022c 22000000 .4byte .LBE263 37538 0230 00000000 .4byte 0 37539 0234 00000000 .4byte 0 37540 0238 28000000 .4byte .LBB264 37541 023c 28000000 .4byte .LBE264 37542 0240 2E000000 .4byte .LBB295 37543 0244 32000000 .4byte .LBE295 37544 0248 36000000 .4byte .LBB297 37545 024c 3A000000 .4byte .LBE297 37546 0250 00000000 .4byte 0 37547 0254 00000000 .4byte 0 37548 0258 2C000000 .4byte .LBB268 37549 025c 2E000000 .4byte .LBE268 37550 0260 32000000 .4byte .LBB296 37551 0264 36000000 .4byte .LBE296 37552 0268 3A000000 .4byte .LBB298 37553 026c 00010000 .4byte .LBE298 37554 0270 16010000 .4byte .LBB299 37555 0274 1E010000 .4byte .LBE299 37556 0278 20010000 .4byte .LBB300 37557 027c 78010000 .4byte .LBE300 37558 0280 7C010000 .4byte .LBB301 37559 0284 44030000 .4byte .LBE301 37560 0288 00000000 .4byte 0 37561 028c 00000000 .4byte 0 37562 0290 3A000000 .4byte .LBB270 37563 0294 3A000000 .4byte .LBE270 37564 0298 3E000000 .4byte .LBB275 37565 029c 42000000 .4byte .LBE275 37566 02a0 00000000 .4byte 0 37567 02a4 00000000 .4byte 0 37568 02a8 A8000000 .4byte .LBB276 37569 02ac 00010000 .4byte .LBE276 37570 02b0 16010000 .4byte .LBB282 ARM GAS /tmp/ccJhhmLc.s page 1136 37571 02b4 1E010000 .4byte .LBE282 37572 02b8 20010000 .4byte .LBB283 37573 02bc 3A010000 .4byte .LBE283 37574 02c0 7C010000 .4byte .LBB286 37575 02c4 EE010000 .4byte .LBE286 37576 02c8 00000000 .4byte 0 37577 02cc 00000000 .4byte 0 37578 02d0 42010000 .4byte .LBB284 37579 02d4 44010000 .4byte .LBE284 37580 02d8 4A010000 .4byte .LBB285 37581 02dc 56010000 .4byte .LBE285 37582 02e0 00000000 .4byte 0 37583 02e4 00000000 .4byte 0 37584 02e8 00000000 .4byte .LBB321 37585 02ec 00000000 .4byte .LBE321 37586 02f0 06000000 .4byte .LBB325 37587 02f4 08000000 .4byte .LBE325 37588 02f8 12000000 .4byte .LBB326 37589 02fc 24000000 .4byte .LBE326 37590 0300 00000000 .4byte 0 37591 0304 00000000 .4byte 0 37592 0308 2A000000 .4byte .LBB327 37593 030c 2A000000 .4byte .LBE327 37594 0310 30000000 .4byte .LBB354 37595 0314 34000000 .4byte .LBE354 37596 0318 38000000 .4byte .LBB356 37597 031c 3C000000 .4byte .LBE356 37598 0320 00000000 .4byte 0 37599 0324 00000000 .4byte 0 37600 0328 2E000000 .4byte .LBB331 37601 032c 30000000 .4byte .LBE331 37602 0330 34000000 .4byte .LBB355 37603 0334 38000000 .4byte .LBE355 37604 0338 3C000000 .4byte .LBB357 37605 033c F6000000 .4byte .LBE357 37606 0340 08010000 .4byte .LBB358 37607 0344 30020000 .4byte .LBE358 37608 0348 34020000 .4byte .LBB359 37609 034c 80030000 .4byte .LBE359 37610 0350 00000000 .4byte 0 37611 0354 00000000 .4byte 0 37612 0358 3C000000 .4byte .LBB333 37613 035c 3C000000 .4byte .LBE333 37614 0360 40000000 .4byte .LBB338 37615 0364 44000000 .4byte .LBE338 37616 0368 00000000 .4byte 0 37617 036c 00000000 .4byte 0 37618 0370 C4000000 .4byte .LBB339 37619 0374 F6000000 .4byte .LBE339 37620 0378 08010000 .4byte .LBB344 37621 037c F8010000 .4byte .LBE344 37622 0380 00000000 .4byte 0 37623 0384 00000000 .4byte 0 37624 0388 24010000 .4byte .LBB341 37625 038c 32010000 .4byte .LBE341 37626 0390 38010000 .4byte .LBB342 37627 0394 3A010000 .4byte .LBE342 ARM GAS /tmp/ccJhhmLc.s page 1137 37628 0398 00000000 .4byte 0 37629 039c 00000000 .4byte 0 37630 03a0 FC010000 .4byte .LBB345 37631 03a4 00020000 .4byte .LBE345 37632 03a8 02020000 .4byte .LBB346 37633 03ac 0E020000 .4byte .LBE346 37634 03b0 00000000 .4byte 0 37635 03b4 00000000 .4byte 0 37636 03b8 00000000 .4byte .LBB375 37637 03bc 00000000 .4byte .LBE375 37638 03c0 06000000 .4byte .LBB379 37639 03c4 08000000 .4byte .LBE379 37640 03c8 14000000 .4byte .LBB380 37641 03cc 24000000 .4byte .LBE380 37642 03d0 00000000 .4byte 0 37643 03d4 00000000 .4byte 0 37644 03d8 2A000000 .4byte .LBB381 37645 03dc 2A000000 .4byte .LBE381 37646 03e0 30000000 .4byte .LBB408 37647 03e4 34000000 .4byte .LBE408 37648 03e8 38000000 .4byte .LBB410 37649 03ec 3C000000 .4byte .LBE410 37650 03f0 00000000 .4byte 0 37651 03f4 00000000 .4byte 0 37652 03f8 2E000000 .4byte .LBB385 37653 03fc 30000000 .4byte .LBE385 37654 0400 34000000 .4byte .LBB409 37655 0404 38000000 .4byte .LBE409 37656 0408 3C000000 .4byte .LBB411 37657 040c 4C000000 .4byte .LBE411 37658 0410 5E000000 .4byte .LBB412 37659 0414 EC000000 .4byte .LBE412 37660 0418 EE000000 .4byte .LBB413 37661 041c 6E010000 .4byte .LBE413 37662 0420 72010000 .4byte .LBB414 37663 0424 D8010000 .4byte .LBE414 37664 0428 00000000 .4byte 0 37665 042c 00000000 .4byte 0 37666 0430 3C000000 .4byte .LBB387 37667 0434 3C000000 .4byte .LBE387 37668 0438 3E000000 .4byte .LBB392 37669 043c 44000000 .4byte .LBE392 37670 0440 00000000 .4byte 0 37671 0444 00000000 .4byte 0 37672 0448 C4000000 .4byte .LBB393 37673 044c EC000000 .4byte .LBE393 37674 0450 EE000000 .4byte .LBB400 37675 0454 28010000 .4byte .LBE400 37676 0458 32010000 .4byte .LBB401 37677 045c 3E010000 .4byte .LBE401 37678 0460 72010000 .4byte .LBB402 37679 0464 88010000 .4byte .LBE402 37680 0468 00000000 .4byte 0 37681 046c 00000000 .4byte 0 37682 0470 06010000 .4byte .LBB395 37683 0474 12010000 .4byte .LBE395 37684 0478 18010000 .4byte .LBB396 ARM GAS /tmp/ccJhhmLc.s page 1138 37685 047c 1A010000 .4byte .LBE396 37686 0480 00000000 .4byte 0 37687 0484 00000000 .4byte 0 37688 0488 00000000 .4byte .LBB436 37689 048c 00000000 .4byte .LBE436 37690 0490 04000000 .4byte .LBB441 37691 0494 06000000 .4byte .LBE441 37692 0498 10000000 .4byte .LBB442 37693 049c 18000000 .4byte .LBE442 37694 04a0 22000000 .4byte .LBB468 37695 04a4 26000000 .4byte .LBE468 37696 04a8 00000000 .4byte 0 37697 04ac 00000000 .4byte 0 37698 04b0 18000000 .4byte .LBB443 37699 04b4 22000000 .4byte .LBE443 37700 04b8 26000000 .4byte .LBB469 37701 04bc 2A000000 .4byte .LBE469 37702 04c0 2C000000 .4byte .LBB470 37703 04c4 30000000 .4byte .LBE470 37704 04c8 34000000 .4byte .LBB474 37705 04cc 38000000 .4byte .LBE474 37706 04d0 44000000 .4byte .LBB476 37707 04d4 50000000 .4byte .LBE476 37708 04d8 62000000 .4byte .LBB477 37709 04dc E0000000 .4byte .LBE477 37710 04e0 E2000000 .4byte .LBB478 37711 04e4 50010000 .4byte .LBE478 37712 04e8 52010000 .4byte .LBB479 37713 04ec 9A010000 .4byte .LBE479 37714 04f0 00000000 .4byte 0 37715 04f4 00000000 .4byte 0 37716 04f8 18000000 .4byte .LBB445 37717 04fc 22000000 .4byte .LBE445 37718 0500 44000000 .4byte .LBB450 37719 0504 48000000 .4byte .LBE450 37720 0508 00000000 .4byte 0 37721 050c 00000000 .4byte 0 37722 0510 E4000000 .4byte .LBB451 37723 0514 E6000000 .4byte .LBE451 37724 0518 52010000 .4byte .LBB460 37725 051c 54010000 .4byte .LBE460 37726 0520 00000000 .4byte 0 37727 0524 00000000 .4byte 0 37728 0528 34000000 .4byte .LBB471 37729 052c 34000000 .4byte .LBE471 37730 0530 3C000000 .4byte .LBB475 37731 0534 44000000 .4byte .LBE475 37732 0538 00000000 .4byte 0 37733 053c 00000000 .4byte 0 37734 0540 08000000 .4byte .LBB488 37735 0544 3E000000 .4byte .LBE488 37736 0548 46000000 .4byte .LBB493 37737 054c 50000000 .4byte .LBE493 37738 0550 00000000 .4byte 0 37739 0554 00000000 .4byte 0 37740 0558 30000000 .4byte .LBB544 37741 055c 34000000 .4byte .LBE544 ARM GAS /tmp/ccJhhmLc.s page 1139 37742 0560 36000000 .4byte .LBB585 37743 0564 30010000 .4byte .LBE585 37744 0568 56010000 .4byte .LBB592 37745 056c CC030000 .4byte .LBE592 37746 0570 00000000 .4byte 0 37747 0574 00000000 .4byte 0 37748 0578 68000000 .4byte .LBB553 37749 057c 86000000 .4byte .LBE553 37750 0580 88000000 .4byte .LBB556 37751 0584 8C000000 .4byte .LBE556 37752 0588 00000000 .4byte 0 37753 058c 00000000 .4byte 0 37754 0590 D6000000 .4byte .LBB561 37755 0594 28010000 .4byte .LBE561 37756 0598 56010000 .4byte .LBB564 37757 059c 8C010000 .4byte .LBE564 37758 05a0 00000000 .4byte 0 37759 05a4 00000000 .4byte 0 37760 05a8 8C010000 .4byte .LBB565 37761 05ac B0010000 .4byte .LBE565 37762 05b0 FE020000 .4byte .LBB581 37763 05b4 06030000 .4byte .LBE581 37764 05b8 00000000 .4byte 0 37765 05bc 00000000 .4byte 0 37766 05c0 E0010000 .4byte .LBB570 37767 05c4 E4020000 .4byte .LBE570 37768 05c8 3C030000 .4byte .LBB582 37769 05cc CC030000 .4byte .LBE582 37770 05d0 00000000 .4byte 0 37771 05d4 00000000 .4byte 0 37772 05d8 4A020000 .4byte .LBB574 37773 05dc 4C020000 .4byte .LBE574 37774 05e0 52030000 .4byte .LBB579 37775 05e4 58030000 .4byte .LBE579 37776 05e8 00000000 .4byte 0 37777 05ec 00000000 .4byte 0 37778 05f0 02000000 .4byte .LBB603 37779 05f4 04000000 .4byte .LBE603 37780 05f8 0A000000 .4byte .LBB608 37781 05fc 0C000000 .4byte .LBE608 37782 0600 00000000 .4byte 0 37783 0604 00000000 .4byte 0 37784 0608 12000000 .4byte .LBB630 37785 060c 1E000000 .4byte .LBE630 37786 0610 2A000000 .4byte .LBB645 37787 0614 16010000 .4byte .LBE645 37788 0618 00000000 .4byte 0 37789 061c 00000000 .4byte 0 37790 0620 B0000000 .4byte .LBB632 37791 0624 C0000000 .4byte .LBE632 37792 0628 C4000000 .4byte .LBB636 37793 062c C8000000 .4byte .LBE636 37794 0630 CC000000 .4byte .LBB637 37795 0634 CE000000 .4byte .LBE637 37796 0638 00000000 .4byte 0 37797 063c 00000000 .4byte 0 37798 0640 D6000000 .4byte .LBB638 ARM GAS /tmp/ccJhhmLc.s page 1140 37799 0644 D8000000 .4byte .LBE638 37800 0648 DC000000 .4byte .LBB641 37801 064c DE000000 .4byte .LBE641 37802 0650 00000000 .4byte 0 37803 0654 00000000 .4byte 0 37804 0658 10000000 .4byte .LBB672 37805 065c 12000000 .4byte .LBE672 37806 0660 16000000 .4byte .LBB689 37807 0664 20000000 .4byte .LBE689 37808 0668 28000000 .4byte .LBB690 37809 066c 14010000 .4byte .LBE690 37810 0670 16010000 .4byte .LBB696 37811 0674 20010000 .4byte .LBE696 37812 0678 00000000 .4byte 0 37813 067c 00000000 .4byte 0 37814 0680 78000000 .4byte .LBB674 37815 0684 7A000000 .4byte .LBE674 37816 0688 80000000 .4byte .LBB680 37817 068c 82000000 .4byte .LBE680 37818 0690 00000000 .4byte 0 37819 0694 00000000 .4byte 0 37820 0698 7A000000 .4byte .LBB677 37821 069c 7C000000 .4byte .LBE677 37822 06a0 84000000 .4byte .LBB681 37823 06a4 A0000000 .4byte .LBE681 37824 06a8 00000000 .4byte 0 37825 06ac 00000000 .4byte 0 37826 06b0 0A010000 .4byte .LBB682 37827 06b4 14010000 .4byte .LBE682 37828 06b8 16010000 .4byte .LBB685 37829 06bc 20010000 .4byte .LBE685 37830 06c0 00000000 .4byte 0 37831 06c4 00000000 .4byte 0 37832 06c8 14010000 .4byte .LBB691 37833 06cc 16010000 .4byte .LBE691 37834 06d0 20010000 .4byte .LBB697 37835 06d4 22010000 .4byte .LBE697 37836 06d8 00000000 .4byte 0 37837 06dc 00000000 .4byte 0 37838 06e0 5A000000 .4byte .LBB733 37839 06e4 5E000000 .4byte .LBE733 37840 06e8 6C000000 .4byte .LBB750 37841 06ec D4000000 .4byte .LBE750 37842 06f0 00000000 .4byte 0 37843 06f4 00000000 .4byte 0 37844 06f8 0A000000 .4byte .LBB753 37845 06fc 3C000000 .4byte .LBE753 37846 0700 3E000000 .4byte .LBB757 37847 0704 42000000 .4byte .LBE757 37848 0708 44000000 .4byte .LBB758 37849 070c 48000000 .4byte .LBE758 37850 0710 00000000 .4byte 0 37851 0714 00000000 .4byte 0 37852 0718 0A000000 .4byte .LBB761 37853 071c 36000000 .4byte .LBE761 37854 0720 38000000 .4byte .LBB765 37855 0724 3C000000 .4byte .LBE765 ARM GAS /tmp/ccJhhmLc.s page 1141 37856 0728 3E000000 .4byte .LBB766 37857 072c 42000000 .4byte .LBE766 37858 0730 00000000 .4byte 0 37859 0734 00000000 .4byte 0 37860 0738 04000000 .4byte .LBB771 37861 073c 0C000000 .4byte .LBE771 37862 0740 0E000000 .4byte .LBB776 37863 0744 80000000 .4byte .LBE776 37864 0748 00000000 .4byte 0 37865 074c 00000000 .4byte 0 37866 0750 06000000 .4byte .LBB779 37867 0754 28000000 .4byte .LBE779 37868 0758 2A000000 .4byte .LBB782 37869 075c 30000000 .4byte .LBE782 37870 0760 00000000 .4byte 0 37871 0764 00000000 .4byte 0 37872 0768 0A000000 .4byte .LBB787 37873 076c 12000000 .4byte .LBE787 37874 0770 18000000 .4byte .LBB795 37875 0774 96000000 .4byte .LBE795 37876 0778 98000000 .4byte .LBB796 37877 077c D8000000 .4byte .LBE796 37878 0780 00000000 .4byte 0 37879 0784 00000000 .4byte 0 37880 0788 44000000 .4byte .LBB789 37881 078c 90000000 .4byte .LBE789 37882 0790 98000000 .4byte .LBB792 37883 0794 D8000000 .4byte .LBE792 37884 0798 00000000 .4byte 0 37885 079c 00000000 .4byte 0 37886 07a0 0C000000 .4byte .LBB801 37887 07a4 A2000000 .4byte .LBE801 37888 07a8 A4000000 .4byte .LBB812 37889 07ac C0000000 .4byte .LBE812 37890 07b0 00000000 .4byte 0 37891 07b4 00000000 .4byte 0 37892 07b8 58000000 .4byte .LBB803 37893 07bc 5A000000 .4byte .LBE803 37894 07c0 5C000000 .4byte .LBB808 37895 07c4 60000000 .4byte .LBE808 37896 07c8 64000000 .4byte .LBB809 37897 07cc 9C000000 .4byte .LBE809 37898 07d0 A4000000 .4byte .LBB810 37899 07d4 C0000000 .4byte .LBE810 37900 07d8 00000000 .4byte 0 37901 07dc 00000000 .4byte 0 37902 07e0 06000000 .4byte .LBB815 37903 07e4 08000000 .4byte .LBE815 37904 07e8 0A000000 .4byte .LBB818 37905 07ec 16000000 .4byte .LBE818 37906 07f0 00000000 .4byte 0 37907 07f4 00000000 .4byte 0 37908 07f8 04000000 .4byte .LBB823 37909 07fc 06000000 .4byte .LBE823 37910 0800 0A000000 .4byte .LBB835 37911 0804 38000000 .4byte .LBE835 37912 0808 3C000000 .4byte .LBB836 ARM GAS /tmp/ccJhhmLc.s page 1142 37913 080c 5A000000 .4byte .LBE836 37914 0810 5E000000 .4byte .LBB837 37915 0814 7A000000 .4byte .LBE837 37916 0818 7E000000 .4byte .LBB838 37917 081c 80000000 .4byte .LBE838 37918 0820 00000000 .4byte 0 37919 0824 00000000 .4byte 0 37920 0828 28000000 .4byte .LBB825 37921 082c 2A000000 .4byte .LBE825 37922 0830 32000000 .4byte .LBB829 37923 0834 38000000 .4byte .LBE829 37924 0838 3C000000 .4byte .LBB830 37925 083c 40000000 .4byte .LBE830 37926 0840 00000000 .4byte 0 37927 0844 00000000 .4byte 0 37928 0848 06000000 .4byte .LBB843 37929 084c 7A000000 .4byte .LBE843 37930 0850 7C000000 .4byte .LBB850 37931 0854 8E000000 .4byte .LBE850 37932 0858 00000000 .4byte 0 37933 085c 00000000 .4byte 0 37934 0860 3C000000 .4byte .LBB845 37935 0864 40000000 .4byte .LBE845 37936 0868 42000000 .4byte .LBB848 37937 086c 68000000 .4byte .LBE848 37938 0870 00000000 .4byte 0 37939 0874 00000000 .4byte 0 37940 0878 00000000 .4byte .LBB873 37941 087c 02000000 .4byte .LBE873 37942 0880 0A000000 .4byte .LBB880 37943 0884 0C000000 .4byte .LBE880 37944 0888 14000000 .4byte .LBB881 37945 088c 16000000 .4byte .LBE881 37946 0890 1A000000 .4byte .LBB882 37947 0894 1C000000 .4byte .LBE882 37948 0898 1E000000 .4byte .LBB883 37949 089c 22000000 .4byte .LBE883 37950 08a0 24000000 .4byte .LBB884 37951 08a4 26000000 .4byte .LBE884 37952 08a8 00000000 .4byte 0 37953 08ac 00000000 .4byte 0 37954 08b0 3C000000 .4byte .LBB885 37955 08b4 3E000000 .4byte .LBE885 37956 08b8 52000000 .4byte .LBB888 37957 08bc 96000000 .4byte .LBE888 37958 08c0 00000000 .4byte 0 37959 08c4 00000000 .4byte 0 37960 08c8 98000000 .4byte .LBB889 37961 08cc A6000000 .4byte .LBE889 37962 08d0 0C010000 .4byte .LBB902 37963 08d4 26010000 .4byte .LBE902 37964 08d8 00000000 .4byte 0 37965 08dc 00000000 .4byte 0 37966 08e0 A6000000 .4byte .LBB892 37967 08e4 06010000 .4byte .LBE892 37968 08e8 26010000 .4byte .LBB903 37969 08ec D8010000 .4byte .LBE903 ARM GAS /tmp/ccJhhmLc.s page 1143 37970 08f0 40020000 .4byte .LBB912 37971 08f4 7E020000 .4byte .LBE912 37972 08f8 00000000 .4byte 0 37973 08fc 00000000 .4byte 0 37974 0900 C6000000 .4byte .LBB894 37975 0904 C8000000 .4byte .LBE894 37976 0908 E0000000 .4byte .LBB899 37977 090c F0000000 .4byte .LBE899 37978 0910 00000000 .4byte 0 37979 0914 00000000 .4byte 0 37980 0918 00000000 .4byte .LBB927 37981 091c 02000000 .4byte .LBE927 37982 0920 06000000 .4byte .LBB931 37983 0924 08000000 .4byte .LBE931 37984 0928 0E000000 .4byte .LBB932 37985 092c 0E000000 .4byte .LBE932 37986 0930 00000000 .4byte 0 37987 0934 00000000 .4byte 0 37988 0938 0E000000 .4byte .LBB933 37989 093c 20000000 .4byte .LBE933 37990 0940 26000000 .4byte .LBB944 37991 0944 2A000000 .4byte .LBE944 37992 0948 2C000000 .4byte .LBB945 37993 094c 2E000000 .4byte .LBE945 37994 0950 30000000 .4byte .LBB946 37995 0954 32000000 .4byte .LBE946 37996 0958 34000000 .4byte .LBB947 37997 095c 44000000 .4byte .LBE947 37998 0960 00000000 .4byte 0 37999 0964 00000000 .4byte 0 38000 0968 4A000000 .4byte .LBB948 38001 096c 58000000 .4byte .LBE948 38002 0970 80000000 .4byte .LBB956 38003 0974 A8000000 .4byte .LBE956 38004 0978 00000000 .4byte 0 38005 097c 00000000 .4byte 0 38006 0980 5E000000 .4byte .LBB952 38007 0984 60000000 .4byte .LBE952 38008 0988 62000000 .4byte .LBB955 38009 098c 7C000000 .4byte .LBE955 38010 0990 00000000 .4byte 0 38011 0994 00000000 .4byte 0 38012 0998 00000000 .4byte .LFB1 38013 099c 1A000000 .4byte .LFE1 38014 09a0 00000000 .4byte .LFB3 38015 09a4 1A000000 .4byte .LFE3 38016 09a8 00000000 .4byte .LFB5 38017 09ac 8C010000 .4byte .LFE5 38018 09b0 00000000 .4byte .LFB9 38019 09b4 F0000000 .4byte .LFE9 38020 09b8 00000000 .4byte .LFB10 38021 09bc 20000000 .4byte .LFE10 38022 09c0 00000000 .4byte .LFB13 38023 09c4 3C000000 .4byte .LFE13 38024 09c8 00000000 .4byte .LFB17 38025 09cc 38000000 .4byte .LFE17 38026 09d0 00000000 .4byte .LFB24 ARM GAS /tmp/ccJhhmLc.s page 1144 38027 09d4 1C000000 .4byte .LFE24 38028 09d8 00000000 .4byte .LFB27 38029 09dc 1A000000 .4byte .LFE27 38030 09e0 00000000 .4byte .LFB29 38031 09e4 E8010000 .4byte .LFE29 38032 09e8 00000000 .4byte .LFB49 38033 09ec 80010000 .4byte .LFE49 38034 09f0 00000000 .4byte .LFB52 38035 09f4 48000000 .4byte .LFE52 38036 09f8 00000000 .4byte .LFB57 38037 09fc 54020000 .4byte .LFE57 38038 0a00 00000000 .4byte .LFB60 38039 0a04 50030000 .4byte .LFE60 38040 0a08 00000000 .4byte .LFB63 38041 0a0c 8C030000 .4byte .LFE63 38042 0a10 00000000 .4byte .LFB66 38043 0a14 F4010000 .4byte .LFE66 38044 0a18 00000000 .4byte .LFB69 38045 0a1c B0010000 .4byte .LFE69 38046 0a20 00000000 .4byte .LFB72 38047 0a24 44000000 .4byte .LFE72 38048 0a28 00000000 .4byte .LFB75 38049 0a2c 50000000 .4byte .LFE75 38050 0a30 00000000 .4byte .LFB80 38051 0a34 CC030000 .4byte .LFE80 38052 0a38 00000000 .4byte .LFB110 38053 0a3c BC000000 .4byte .LFE110 38054 0a40 00000000 .4byte .LFB114 38055 0a44 1A000000 .4byte .LFE114 38056 0a48 00000000 .4byte .LFB115 38057 0a4c 5C010000 .4byte .LFE115 38058 0a50 00000000 .4byte .LFB123 38059 0a54 84000000 .4byte .LFE123 38060 0a58 00000000 .4byte .LFB124 38061 0a5c 6C010000 .4byte .LFE124 38062 0a60 00000000 .4byte .LFB129 38063 0a64 90000000 .4byte .LFE129 38064 0a68 00000000 .4byte .LFB132 38065 0a6c E4000000 .4byte .LFE132 38066 0a70 00000000 .4byte .LFB148 38067 0a74 30000000 .4byte .LFE148 38068 0a78 00000000 .4byte .LFB150 38069 0a7c 48000000 .4byte .LFE150 38070 0a80 00000000 .4byte .LFB153 38071 0a84 42000000 .4byte .LFE153 38072 0a88 00000000 .4byte .LFB156 38073 0a8c 82000000 .4byte .LFE156 38074 0a90 00000000 .4byte .LFB161 38075 0a94 30000000 .4byte .LFE161 38076 0a98 00000000 .4byte .LFB164 38077 0a9c D8000000 .4byte .LFE164 38078 0aa0 00000000 .4byte .LFB169 38079 0aa4 C0000000 .4byte .LFE169 38080 0aa8 00000000 .4byte .LFB174 38081 0aac 38000000 .4byte .LFE174 38082 0ab0 00000000 .4byte .LFB176 38083 0ab4 16000000 .4byte .LFE176 ARM GAS /tmp/ccJhhmLc.s page 1145 38084 0ab8 00000000 .4byte .LFB180 38085 0abc 10000000 .4byte .LFE180 38086 0ac0 00000000 .4byte .LFB182 38087 0ac4 88000000 .4byte .LFE182 38088 0ac8 00000000 .4byte .LFB188 38089 0acc 1C000000 .4byte .LFE188 38090 0ad0 00000000 .4byte .LFB190 38091 0ad4 08000000 .4byte .LFE190 38092 0ad8 00000000 .4byte .LFB192 38093 0adc 4C000000 .4byte .LFE192 38094 0ae0 00000000 .4byte .LFB194 38095 0ae4 8E000000 .4byte .LFE194 38096 0ae8 00000000 .4byte .LFB199 38097 0aec 16000000 .4byte .LFE199 38098 0af0 00000000 .4byte .LFB201 38099 0af4 C8000000 .4byte .LFE201 38100 0af8 00000000 .4byte .LFB202 38101 0afc B0020000 .4byte .LFE202 38102 0b00 00000000 .4byte .LFB216 38103 0b04 A8000000 .4byte .LFE216 38104 0b08 00000000 .4byte 0 38105 0b0c 00000000 .4byte 0 38106 .section .debug_line,"",%progbits 38107 .Ldebug_line0: 38108 0000 4D360000 .section .debug_str,"MS",%progbits,1 38108 03006603 38108 00000201 38108 FB0E0D00 38108 01010101 38109 .LASF30: 38110 0000 6D656D63 .ascii "memcpy\000" 38110 707900 38111 .LASF1: 38112 0007 756E7369 .ascii "unsigned int\000" 38112 676E6564 38112 20696E74 38112 00 38113 .LASF35: 38114 0014 48414C5F .ascii "HAL_PCD_DataOutStageCallback.constprop.0\000" 38114 5043445F 38114 44617461 38114 4F757453 38114 74616765 38115 .LASF34: 38116 003d 5F5F6275 .ascii "__builtin_memset\000" 38116 696C7469 38116 6E5F6D65 38116 6D736574 38116 00 38117 .LASF17: 38118 004e 2F776F72 .ascii "/workspaces/edgetx/build/x12s/arm-none-eabi/radio/s" 38118 6B737061 38118 6365732F 38118 65646765 38118 74782F62 38119 0081 726300 .ascii "rc\000" 38120 .LASF14: ARM GAS /tmp/ccJhhmLc.s page 1146 38121 0084 55534244 .ascii "USBD_LL_FlushEP.isra.0\000" 38121 5F4C4C5F 38121 466C7573 38121 6845502E 38121 69737261 38122 .LASF5: 38123 009b 55534244 .ascii "USBD_LL_Start.constprop.0\000" 38123 5F4C4C5F 38123 53746172 38123 742E636F 38123 6E737470 38124 .LASF19: 38125 00b5 55534244 .ascii "USBD_LL_OpenEP.isra.0\000" 38125 5F4C4C5F 38125 4F70656E 38125 45502E69 38125 7372612E 38126 .LASF16: 38127 00cb 3C617274 .ascii "\000" 38127 69666963 38127 69616C3E 38127 00 38128 .LASF10: 38129 00d8 55534244 .ascii "USBD_RegisterClass.constprop.0.isra.0\000" 38129 5F526567 38129 69737465 38129 72436C61 38129 73732E63 38130 .LASF0: 38131 00fe 6C6F6E67 .ascii "long long unsigned int\000" 38131 206C6F6E 38131 6720756E 38131 7369676E 38131 65642069 38132 .LASF7: 38133 0115 464C4153 .ascii "FLASH_WaitForLastOperation.constprop.0\000" 38133 485F5761 38133 6974466F 38133 724C6173 38133 744F7065 38134 .LASF20: 38135 013c 53435349 .ascii "SCSI_SenseCode.isra.0\000" 38135 5F53656E 38135 7365436F 38135 64652E69 38135 7372612E 38136 .LASF15: 38137 0152 474E5520 .ascii "GNU GIMPLE 14.2.1 20241119 -mfloat-abi=hard -mfpu=f" 38137 47494D50 38137 4C452031 38137 342E322E 38137 31203230 38138 0185 7076342D .ascii "pv4-sp-d16 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d" 38138 73702D64 38138 3136202D 38138 6D746875 38138 6D62202D ARM GAS /tmp/ccJhhmLc.s page 1147 38139 01b8 3136202D .ascii "16 -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d" 38139 6D637075 38139 3D636F72 38139 7465782D 38139 6D34202D 38140 01eb 3136202D .ascii "16 -march=armv7e-m+fp -g -gdwarf-2 -Os -Os -fno-ope" 38140 6D617263 38140 683D6172 38140 6D763765 38140 2D6D2B66 38141 021e 6E6D7020 .ascii "nmp -fno-openacc -fno-pie -fcf-protection=none -fom" 38141 2D666E6F 38141 2D6F7065 38141 6E616363 38141 202D666E 38142 0251 69742D66 .ascii "it-frame-pointer -fno-exceptions -fdata-sections -f" 38142 72616D65 38142 2D706F69 38142 6E746572 38142 202D666E 38143 0284 66756E63 .ascii "function-sections -fltrans\000" 38143 74696F6E 38143 2D736563 38143 74696F6E 38143 73202D66 38144 .LASF24: 38145 029f 55534244 .ascii "USBD_ClrClassConfig.isra.0\000" 38145 5F436C72 38145 436C6173 38145 73436F6E 38145 6669672E 38146 .LASF2: 38147 02ba 756E7369 .ascii "unsigned char\000" 38147 676E6564 38147 20636861 38147 7200 38148 .LASF28: 38149 02c8 4C4C5F55 .ascii "LL_USART_DeInit.isra.0\000" 38149 53415254 38149 5F446549 38149 6E69742E 38149 69737261 38150 .LASF25: 38151 02df 5553425F .ascii "USB_EP0_OutStart.isra.0\000" 38151 4550305F 38151 4F757453 38151 74617274 38151 2E697372 38152 .LASF29: 38153 02f7 7374726C .ascii "strlen\000" 38153 656E00 38154 .LASF6: 38155 02fe 55534244 .ascii "USBD_LL_Init.part.0.constprop.0\000" 38155 5F4C4C5F 38155 496E6974 38155 2E706172 38155 742E302E ARM GAS /tmp/ccJhhmLc.s page 1148 38156 .LASF11: 38157 031e 55534244 .ascii "USBD_LL_PrepareReceive.isra.0\000" 38157 5F4C4C5F 38157 50726570 38157 61726552 38157 65636569 38158 .LASF31: 38159 033c 5F5F6275 .ascii "__builtin_strlen\000" 38159 696C7469 38159 6E5F7374 38159 726C656E 38159 00 38160 .LASF26: 38161 034d 55534244 .ascii "USBD_LL_StallEP.isra.0\000" 38161 5F4C4C5F 38161 5374616C 38161 6C45502E 38161 69737261 38162 .LASF3: 38163 0364 73686F72 .ascii "short unsigned int\000" 38163 7420756E 38163 7369676E 38163 65642069 38163 6E7400 38164 .LASF32: 38165 0377 5F5F6275 .ascii "__builtin_memcpy\000" 38165 696C7469 38165 6E5F6D65 38165 6D637079 38165 00 38166 .LASF23: 38167 0388 55534244 .ascii "USBD_CtlSendData.isra.0\000" 38167 5F43746C 38167 53656E64 38167 44617461 38167 2E697372 38168 .LASF8: 38169 03a0 5344494F .ascii "SDIO_SendCommand.constprop.0.isra.0\000" 38169 5F53656E 38169 64436F6D 38169 6D616E64 38169 2E636F6E 38170 .LASF12: 38171 03c4 55534244 .ascii "USBD_LL_Transmit.isra.0\000" 38171 5F4C4C5F 38171 5472616E 38171 736D6974 38171 2E697372 38172 .LASF33: 38173 03dc 6D656D73 .ascii "memset\000" 38173 657400 38174 .LASF27: 38175 03e3 55534244 .ascii "USBD_CtlError.isra.0\000" 38175 5F43746C 38175 4572726F 38175 722E6973 38175 72612E30 ARM GAS /tmp/ccJhhmLc.s page 1149 38176 .LASF22: 38177 03f8 55534244 .ascii "USBD_CtlSendStatus.isra.0\000" 38177 5F43746C 38177 53656E64 38177 53746174 38177 75732E69 38178 .LASF9: 38179 0412 55534244 .ascii "USBD_DeInit.constprop.0.isra.0\000" 38179 5F446549 38179 6E69742E 38179 636F6E73 38179 7470726F 38180 .LASF18: 38181 0431 55534244 .ascii "USBD_LL_CloseEP.isra.0\000" 38181 5F4C4C5F 38181 436C6F73 38181 6545502E 38181 69737261 38182 .LASF13: 38183 0448 55534244 .ascii "USBD_LL_ClearStallEP.isra.0\000" 38183 5F4C4C5F 38183 436C6561 38183 72537461 38183 6C6C4550 38184 .LASF4: 38185 0464 55534244 .ascii "USBD_GetString.part.0.constprop.0\000" 38185 5F476574 38185 53747269 38185 6E672E70 38185 6172742E 38186 .LASF21: 38187 0486 53435349 .ascii "SCSI_UpdateBotData.isra.0\000" 38187 5F557064 38187 61746542 38187 6F744461 38187 74612E69 38188 .hidden _Z22usbSerialSetBaudRateCbPvPFvmE 38189 .hidden _Z25usbSerialSetReceiveDataCbPvPFvPhmE 38190 .hidden _Z17usbSerialBaudRatePv 38191 .hidden _Z13usbSerialPutcPvh 38192 .hidden _ZL13usbSerialInitPvPK15etx_serial_init.lto_priv.0 38193 .hidden LL_APB1_GRP1_DisableClock.lto_priv.2.lto_priv.0 38194 .hidden LL_APB1_GRP1_EnableClock.lto_priv.2.lto_priv.0 38195 .hidden _Z11gpio_set_afmh 38196 .hidden LL_APB1_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 38197 .hidden LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 38198 .hidden LL_APB2_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 38199 .hidden LL_APB2_GRP1_ForceReset.lto_priv.1.lto_priv.0 38200 .hidden SD_DMATransmitCplt.lto_priv.0 38201 .hidden SD_DMAError.lto_priv.0 38202 .hidden SD_DMAReceiveCplt.lto_priv.0 38203 .hidden SDMMC_GetCmdResp1.lto_priv.0 38204 .hidden HAL_DMA_Start_IT 38205 .hidden pFlash 38206 .hidden USB_FlushRxFifo 38207 .hidden USB_FlushTxFifo 38208 .hidden hpcd_USB_OTG ARM GAS /tmp/ccJhhmLc.s page 1150 38209 .hidden USB_CoreReset.lto_priv.0 38210 .hidden HAL_Delay 38211 .hidden hUsbDevice 38212 .hidden USBD_Get_USB_Status 38213 .hidden USBD_StrDesc 38214 .hidden I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 38215 .hidden I2C_WaitOnBTFFlagUntilTimeout.lto_priv.0 38216 .hidden I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 38217 .hidden I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 38218 .hidden I2C_WaitOnFlagUntilTimeout.lto_priv.0 38219 .hidden currentSD.lto_priv.0 38220 .hidden _ZL9sdioTxDma.lto_priv.0 38221 .hidden SD_DMARxAbort.lto_priv.0 38222 .hidden _ZL10ReadStatus.lto_priv.0 38223 .hidden _ZL11WriteStatus.lto_priv.0 38224 .hidden SD_DMATxAbort.lto_priv.0 38225 .hidden SDMMC_CmdStopTransfer 38226 .hidden _ZL4sdio.lto_priv.0 38227 .hidden _ZL9_ms_ticks.lto_priv.0 38228 .hidden HAL_SD_GetCardState 38229 .ident "GCC: (Arm GNU Toolchain 14.2.Rel1 (Build arm-14.52)) 14.2.1 20241119" 38230 .cpu cortex-m4 38231 .arch armv7e-m 38232 .fpu fpv4-sp-d16 ARM GAS /tmp/ccJhhmLc.s page 1151 DEFINED SYMBOLS *ABS*:00000000 /tmp/ccJhhmLc.s:25 .text.USB_DevDisconnect.isra.0:00000000 $t /tmp/ccJhhmLc.s:33 .text.USB_DevDisconnect.isra.0:00000000 USB_DevDisconnect.isra.0 /tmp/ccJhhmLc.s:63 .text.USB_DevConnect.isra.0:00000000 $t /tmp/ccJhhmLc.s:68 .text.USB_DevConnect.isra.0:00000000 USB_DevConnect.isra.0 /tmp/ccJhhmLc.s:97 .text.USB_EPStartXfer.isra.0:00000000 $t /tmp/ccJhhmLc.s:102 .text.USB_EPStartXfer.isra.0:00000000 USB_EPStartXfer.isra.0 /tmp/ccJhhmLc.s:501 .text.USB_EPStartXfer.isra.0:00000180 $d /tmp/ccJhhmLc.s:508 .text.USB_EP0StartXfer.isra.0:00000000 $t /tmp/ccJhhmLc.s:513 .text.USB_EP0StartXfer.isra.0:00000000 USB_EP0StartXfer.isra.0 /tmp/ccJhhmLc.s:765 .text.USB_EP0StartXfer.isra.0:000000e8 $d /tmp/ccJhhmLc.s:771 .text._ZL16i2c_ensure_mutexP16stm32_i2c_device:00000000 $t /tmp/ccJhhmLc.s:776 .text._ZL16i2c_ensure_mutexP16stm32_i2c_device:00000000 _ZL16i2c_ensure_mutexP16stm32_i2c_device /tmp/ccJhhmLc.s:837 .text._ZL34sdio_check_card_state_with_timeoutm.constprop.0:00000000 $t /tmp/ccJhhmLc.s:842 .text._ZL34sdio_check_card_state_with_timeoutm.constprop.0:00000000 _ZL34sdio_check_card_state_with_timeoutm.constprop.0 /tmp/ccJhhmLc.s:938 .text._ZL34sdio_check_card_state_with_timeoutm.constprop.0:00000034 $d /tmp/ccJhhmLc.s:947 .text._Z10sdio_ioctlhhPv:00000000 $t /tmp/ccJhhmLc.s:954 .text._Z10sdio_ioctlhhPv:00000000 _Z10sdio_ioctlhhPv /tmp/ccJhhmLc.s:976 .text._Z10sdio_ioctlhhPv:0000000a $d /tmp/ccJhhmLc.s:980 .text._Z10sdio_ioctlhhPv:0000000e $t /tmp/ccJhhmLc.s:1120 .text._Z10sdio_ioctlhhPv:00000034 $d /tmp/ccJhhmLc.s:1125 .text._ZN9MutexLockC2EP14mutex_handle_t.isra.0:00000000 $t /tmp/ccJhhmLc.s:1130 .text._ZN9MutexLockC2EP14mutex_handle_t.isra.0:00000000 _ZN9MutexLockC2EP14mutex_handle_t.isra.0 /tmp/ccJhhmLc.s:1196 .text._ZN9MutexLockD2Ev.isra.0:00000000 $t /tmp/ccJhhmLc.s:1201 .text._ZN9MutexLockD2Ev.isra.0:00000000 _ZN9MutexLockD2Ev.isra.0 /tmp/ccJhhmLc.s:1268 .text.SDIO_IRQHandler:00000000 $t /tmp/ccJhhmLc.s:1274 .text.SDIO_IRQHandler:00000000 SDIO_IRQHandler /tmp/ccJhhmLc.s:1939 .text.SDIO_IRQHandler:000001d4 $d /tmp/ccJhhmLc.s:1948 .text.DMA2_Stream3_IRQHandler:00000000 $t /tmp/ccJhhmLc.s:1954 .text.DMA2_Stream3_IRQHandler:00000000 DMA2_Stream3_IRQHandler /tmp/ccJhhmLc.s:2411 .text.DMA2_Stream3_IRQHandler:00000178 $d /tmp/ccJhhmLc.s:2417 .text.startup._GLOBAL__sub_I__Z10sdio_ioctlhhPv:00000000 $t /tmp/ccJhhmLc.s:2422 .text.startup._GLOBAL__sub_I__Z10sdio_ioctlhhPv:00000000 _GLOBAL__sub_I__Z10sdio_ioctlhhPv /tmp/ccJhhmLc.s:2470 .text.startup._GLOBAL__sub_I__Z10sdio_ioctlhhPv:00000040 $d /tmp/ccJhhmLc.s:2476 .init_array:00000000 $d /tmp/ccJhhmLc.s:2479 .text._Z19stm32_i2c_master_txhtPhtm:00000000 $t /tmp/ccJhhmLc.s:2485 .text._Z19stm32_i2c_master_txhtPhtm:00000000 _Z19stm32_i2c_master_txhtPhtm /tmp/ccJhhmLc.s:3150 .text._Z19stm32_i2c_master_txhtPhtm:0000023c $d /tmp/ccJhhmLc.s:12641 .bss._ZL9_i2c_devs:00000000 _ZL9_i2c_devs /tmp/ccJhhmLc.s:3160 .text._Z19stm32_i2c_master_rxhtPhtm:00000000 $t /tmp/ccJhhmLc.s:3166 .text._Z19stm32_i2c_master_rxhtPhtm:00000000 _Z19stm32_i2c_master_rxhtPhtm /tmp/ccJhhmLc.s:3908 .text._Z19stm32_i2c_master_rxhtPhtm:00000274 $d /tmp/ccJhhmLc.s:3918 .text._Z19stm32_i2c_master_rxhtPhtm:0000028c $t /tmp/ccJhhmLc.s:4123 .text._Z19stm32_i2c_master_rxhtPhtm:0000034c $d /tmp/ccJhhmLc.s:4128 .text._Z14stm32_i2c_readhtttPhtm:00000000 $t /tmp/ccJhhmLc.s:4134 .text._Z14stm32_i2c_readhtttPhtm:00000000 _Z14stm32_i2c_readhtttPhtm /tmp/ccJhhmLc.s:4902 .text._Z14stm32_i2c_readhtttPhtm:000002b4 $d /tmp/ccJhhmLc.s:4911 .text._Z14stm32_i2c_readhtttPhtm:000002c8 $t /tmp/ccJhhmLc.s:5116 .text._Z14stm32_i2c_readhtttPhtm:00000388 $d /tmp/ccJhhmLc.s:5121 .text._Z15stm32_i2c_writehtttPhtm:00000000 $t /tmp/ccJhhmLc.s:5127 .text._Z15stm32_i2c_writehtttPhtm:00000000 _Z15stm32_i2c_writehtttPhtm /tmp/ccJhhmLc.s:5779 .text._Z15stm32_i2c_writehtttPhtm:000001e0 $d /tmp/ccJhhmLc.s:5788 .text._Z22stm32_i2c_is_dev_readyhtmm:00000000 $t /tmp/ccJhhmLc.s:5794 .text._Z22stm32_i2c_is_dev_readyhtmm:00000000 _Z22stm32_i2c_is_dev_readyhtmm /tmp/ccJhhmLc.s:6356 .text._Z22stm32_i2c_is_dev_readyhtmm:000001a4 $d /tmp/ccJhhmLc.s:6363 .text.USBD_GetString.part.0.constprop.0:00000000 $t ARM GAS /tmp/ccJhhmLc.s page 1152 /tmp/ccJhhmLc.s:6370 .text.USBD_GetString.part.0.constprop.0:00000000 USBD_GetString.part.0.constprop.0 /tmp/ccJhhmLc.s:6477 .text.USBD_GetString.part.0.constprop.0:00000040 $d /tmp/ccJhhmLc.s:6482 .text.USBD_LL_Start.constprop.0:00000000 $t /tmp/ccJhhmLc.s:6489 .text.USBD_LL_Start.constprop.0:00000000 USBD_LL_Start.constprop.0 /tmp/ccJhhmLc.s:6599 .text.USBD_LL_Start.constprop.0:0000004c $d /tmp/ccJhhmLc.s:6606 .text.USBD_LL_Init.part.0.constprop.0:00000000 $t /tmp/ccJhhmLc.s:6613 .text.USBD_LL_Init.part.0.constprop.0:00000000 USBD_LL_Init.part.0.constprop.0 /tmp/ccJhhmLc.s:7052 .text.USBD_LL_Init.part.0.constprop.0:0000017c $d /tmp/ccJhhmLc.s:7065 .text.USBD_LL_Init.part.0.constprop.0:0000018c $t /tmp/ccJhhmLc.s:7608 .text.USBD_LL_Init.part.0.constprop.0:000003bc $d /tmp/ccJhhmLc.s:7620 .text.FLASH_WaitForLastOperation.constprop.0:00000000 $t /tmp/ccJhhmLc.s:7627 .text.FLASH_WaitForLastOperation.constprop.0:00000000 FLASH_WaitForLastOperation.constprop.0 /tmp/ccJhhmLc.s:7859 .text.FLASH_WaitForLastOperation.constprop.0:000000b0 $d /tmp/ccJhhmLc.s:7866 .text.SDIO_SendCommand.constprop.0.isra.0:00000000 $t /tmp/ccJhhmLc.s:7873 .text.SDIO_SendCommand.constprop.0.isra.0:00000000 SDIO_SendCommand.constprop.0.isra.0 /tmp/ccJhhmLc.s:7905 .text._ZL9_read_dmaPhmj:00000000 $t /tmp/ccJhhmLc.s:7910 .text._ZL9_read_dmaPhmj:00000000 _ZL9_read_dmaPhmj /tmp/ccJhhmLc.s:8352 .text._ZL9_read_dmaPhmj:00000140 $d /tmp/ccJhhmLc.s:8363 .text._ZL9sdio_readhPhmj.lto_priv.0:00000000 $t /tmp/ccJhhmLc.s:8370 .text._ZL9sdio_readhPhmj.lto_priv.0:00000000 _ZL9sdio_readhPhmj.lto_priv.0 /tmp/ccJhhmLc.s:8517 .text._ZL9sdio_readhPhmj.lto_priv.0:00000078 $d /tmp/ccJhhmLc.s:12647 .ram:00000000 _ZL7scratch /tmp/ccJhhmLc.s:8526 .text._ZL10_write_dmaPKhmj:00000000 $t /tmp/ccJhhmLc.s:8531 .text._ZL10_write_dmaPKhmj:00000000 _ZL10_write_dmaPKhmj /tmp/ccJhhmLc.s:8994 .text._ZL10_write_dmaPKhmj:00000150 $d /tmp/ccJhhmLc.s:9005 .text._ZL10sdio_writehPKhmj.lto_priv.0:00000000 $t /tmp/ccJhhmLc.s:9012 .text._ZL10sdio_writehPKhmj.lto_priv.0:00000000 _ZL10sdio_writehPKhmj.lto_priv.0 /tmp/ccJhhmLc.s:9164 .text._ZL10sdio_writehPKhmj.lto_priv.0:00000084 $d /tmp/ccJhhmLc.s:9171 .text.USBD_DeInit.constprop.0.isra.0:00000000 $t /tmp/ccJhhmLc.s:9178 .text.USBD_DeInit.constprop.0.isra.0:00000000 USBD_DeInit.constprop.0.isra.0 /tmp/ccJhhmLc.s:9451 .text.USBD_DeInit.constprop.0.isra.0:000000d8 $d /tmp/ccJhhmLc.s:9458 .text.USBD_RegisterClass.constprop.0.isra.0:00000000 $t /tmp/ccJhhmLc.s:9465 .text.USBD_RegisterClass.constprop.0.isra.0:00000000 USBD_RegisterClass.constprop.0.isra.0 /tmp/ccJhhmLc.s:9524 .text.USBD_RegisterClass.constprop.0.isra.0:0000002c $d /tmp/ccJhhmLc.s:9529 .text.USBD_LL_PrepareReceive.isra.0:00000000 $t /tmp/ccJhhmLc.s:9536 .text.USBD_LL_PrepareReceive.isra.0:00000000 USBD_LL_PrepareReceive.isra.0 /tmp/ccJhhmLc.s:9656 .text.USBD_LL_Transmit.isra.0:00000000 $t /tmp/ccJhhmLc.s:9663 .text.USBD_LL_Transmit.isra.0:00000000 USBD_LL_Transmit.isra.0 /tmp/ccJhhmLc.s:9784 .text.USBD_LL_ClearStallEP.isra.0:00000000 $t /tmp/ccJhhmLc.s:9791 .text.USBD_LL_ClearStallEP.isra.0:00000000 USBD_LL_ClearStallEP.isra.0 /tmp/ccJhhmLc.s:9947 .text.USBD_LL_FlushEP.isra.0:00000000 $t /tmp/ccJhhmLc.s:9954 .text.USBD_LL_FlushEP.isra.0:00000000 USBD_LL_FlushEP.isra.0 /tmp/ccJhhmLc.s:10028 .text.USBD_LL_CloseEP.isra.0:00000000 $t /tmp/ccJhhmLc.s:10035 .text.USBD_LL_CloseEP.isra.0:00000000 USBD_LL_CloseEP.isra.0 /tmp/ccJhhmLc.s:10267 .text.USBD_LL_CloseEP.isra.0:000000d0 $d /tmp/ccJhhmLc.s:10277 .text.USBD_LL_OpenEP.isra.0:00000000 $t /tmp/ccJhhmLc.s:10284 .text.USBD_LL_OpenEP.isra.0:00000000 USBD_LL_OpenEP.isra.0 /tmp/ccJhhmLc.s:10510 .text.SCSI_SenseCode.isra.0:00000000 $t /tmp/ccJhhmLc.s:10517 .text.SCSI_SenseCode.isra.0:00000000 SCSI_SenseCode.isra.0 /tmp/ccJhhmLc.s:10583 .text.SCSI_UpdateBotData.isra.0:00000000 $t /tmp/ccJhhmLc.s:10590 .text.SCSI_UpdateBotData.isra.0:00000000 SCSI_UpdateBotData.isra.0 /tmp/ccJhhmLc.s:10651 .text.USBD_CtlSendStatus.isra.0:00000000 $t /tmp/ccJhhmLc.s:10658 .text.USBD_CtlSendStatus.isra.0:00000000 USBD_CtlSendStatus.isra.0 /tmp/ccJhhmLc.s:10687 .text.HAL_PCD_DataOutStageCallback.constprop.0:00000000 $t /tmp/ccJhhmLc.s:10694 .text.HAL_PCD_DataOutStageCallback.constprop.0:00000000 HAL_PCD_DataOutStageCallback.constprop.0 /tmp/ccJhhmLc.s:10907 .text.HAL_PCD_DataOutStageCallback.constprop.0:00000084 $d /tmp/ccJhhmLc.s:10912 .text.USBD_CtlSendData.isra.0:00000000 $t ARM GAS /tmp/ccJhhmLc.s page 1153 /tmp/ccJhhmLc.s:10919 .text.USBD_CtlSendData.isra.0:00000000 USBD_CtlSendData.isra.0 /tmp/ccJhhmLc.s:10971 .text.USBD_ClrClassConfig.isra.0:00000000 $t /tmp/ccJhhmLc.s:10978 .text.USBD_ClrClassConfig.isra.0:00000000 USBD_ClrClassConfig.isra.0 /tmp/ccJhhmLc.s:10999 .text.USB_EP0_OutStart.isra.0:00000000 $t /tmp/ccJhhmLc.s:11006 .text.USB_EP0_OutStart.isra.0:00000000 USB_EP0_OutStart.isra.0 /tmp/ccJhhmLc.s:11090 .text.USB_EP0_OutStart.isra.0:00000048 $d /tmp/ccJhhmLc.s:11095 .text.USBD_LL_StallEP.isra.0:00000000 $t /tmp/ccJhhmLc.s:11102 .text.USBD_LL_StallEP.isra.0:00000000 USBD_LL_StallEP.isra.0 /tmp/ccJhhmLc.s:11277 .text.USBD_CtlError.isra.0:00000000 $t /tmp/ccJhhmLc.s:11284 .text.USBD_CtlError.isra.0:00000000 USBD_CtlError.isra.0 /tmp/ccJhhmLc.s:11328 .text.LL_USART_DeInit.isra.0:00000000 $t /tmp/ccJhhmLc.s:11335 .text.LL_USART_DeInit.isra.0:00000000 LL_USART_DeInit.isra.0 /tmp/ccJhhmLc.s:11525 .text.LL_USART_DeInit.isra.0:000000a8 $d /tmp/ccJhhmLc.s:11537 .text._Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t:00000000 $t /tmp/ccJhhmLc.s:11543 .text._Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t:00000000 _Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t /tmp/ccJhhmLc.s:12277 .text._Z14stm32_i2c_inithmPK18stm32_i2c_hw_def_t:00000284 $d /tmp/ccJhhmLc.s:12292 .text._Z16stm32_i2c_deinith:00000000 $t /tmp/ccJhhmLc.s:12298 .text._Z16stm32_i2c_deinith:00000000 _Z16stm32_i2c_deinith /tmp/ccJhhmLc.s:12575 .text._Z16stm32_i2c_deinith:00000098 $d /tmp/ccJhhmLc.s:12585 .bss.uwTick:00000000 $d /tmp/ccJhhmLc.s:12588 .bss.uwTick:00000000 uwTick /tmp/ccJhhmLc.s:12591 .rodata._ZL15usbSerialDriver:00000000 $d /tmp/ccJhhmLc.s:12594 .rodata._ZL15usbSerialDriver:00000000 _ZL15usbSerialDriver /tmp/ccJhhmLc.s:12628 .rodata.UsbSerialPort:00000000 UsbSerialPort /tmp/ccJhhmLc.s:12625 .rodata.UsbSerialPort:00000000 $d /tmp/ccJhhmLc.s:12638 .bss._ZL9_i2c_devs:00000000 $d /tmp/ccJhhmLc.s:12644 .ram:00000000 $d UNDEFINED SYMBOLS _Z20scheduler_is_runningv _Z12mutex_createP14mutex_handle_t HAL_SD_GetCardState _ZL9_ms_ticks.lto_priv.0 _ZL4sdio.lto_priv.0 _Z10mutex_lockP14mutex_handle_t _Z12mutex_unlockP14mutex_handle_t SDMMC_CmdStopTransfer SD_DMATxAbort.lto_priv.0 _ZL11WriteStatus.lto_priv.0 _ZL10ReadStatus.lto_priv.0 SD_DMARxAbort.lto_priv.0 _ZL9sdioTxDma.lto_priv.0 SystemCoreClock currentSD.lto_priv.0 I2C_WaitOnFlagUntilTimeout.lto_priv.0 I2C_WaitOnMasterAddressFlagUntilTimeout.lto_priv.0 I2C_WaitOnTXEFlagUntilTimeout.lto_priv.0 I2C_WaitOnBTFFlagUntilTimeout.lto_priv.0 I2C_WaitOnRXNEFlagUntilTimeout.lto_priv.0 strlen USBD_StrDesc USBD_Get_USB_Status hUsbDevice HAL_Delay USB_CoreReset.lto_priv.0 hpcd_USB_OTG USB_FlushTxFifo ARM GAS /tmp/ccJhhmLc.s page 1154 USB_FlushRxFifo pFlash HAL_DMA_Start_IT SDMMC_GetCmdResp1.lto_priv.0 SD_DMAReceiveCplt.lto_priv.0 SD_DMAError.lto_priv.0 memcpy _sram _heap_start SD_DMATransmitCplt.lto_priv.0 LL_APB2_GRP1_ForceReset.lto_priv.1.lto_priv.0 LL_APB2_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 LL_APB1_GRP1_ForceReset.lto_priv.1.lto_priv.0 LL_APB1_GRP1_ReleaseReset.lto_priv.1.lto_priv.0 _Z8gpio_setm _Z9gpio_initmhh _Z11gpio_set_afmh LL_APB1_GRP1_EnableClock.lto_priv.2.lto_priv.0 APBPrescTable memset LL_APB1_GRP1_DisableClock.lto_priv.2.lto_priv.0 _ZL13usbSerialInitPvPK15etx_serial_init.lto_priv.0 _Z13usbSerialPutcPvh _Z17usbSerialBaudRatePv _Z25usbSerialSetReceiveDataCbPvPFvPhmE _Z22usbSerialSetBaudRateCbPvPFvmE stm32f4xx_ll_usb.c.b0b15edb stm32_i2c_driver.cpp.a7a5aee7 diskio_sdio.cpp.13d9822e stm32_hal.cpp.4653489c timers_driver.cpp.9287e71d stm32f4xx_hal_sd.c.13956b56 stm32f4xx_ll_sdmmc.c.b4eff6b9 stm32f4xx_hal_dma.c.29f76e30 stm32f4xx_hal_i2c.c.217f0a5d usbd_ctlreq.c.815add09 usbd_conf.c.840d1894 stm32f4xx_hal_pcd.c.1ede1f70 stm32f4xx_hal_pcd_ex.c.a7035b39 stm32f4xx_hal.c.95118953 stm32f4xx_hal_flash.c.19490800 usbd_core.c.d5df62af usbd_msc_scsi.c.9ea08f05 usbd_ioreq.c.cf309e2d stm32f4xx_ll_usart.c.7fb17c04 stm32f4xx_hal_rcc.c.c5f67773 stm32f4xx_hal_i2c_ex.c.fc3d998d stm32_gpio.cpp.86c86977 usbd_cdc.cpp.d1b71311